嗨,我正在for循环中处理一堆FITS文件(对它们进行平均),我只是想知道是否有办法将循环输出保存为新的/单个FITS文件?你知道吗
我似乎不知道如何让输出名称迭代并匹配实际的数据输出。你知道吗
所以我希望循环将10个不同的输出保存为:bfdiffs1.fits,bfdiffs2.fits,等等。。。你知道吗
谢谢!你知道吗
示例代码如下:
btotal = np.asarray([bias1data,bias2data,bias3data,bias4data,bias5data,
bias6data,bias7data,bias8data,bias9data,bias10data,
bias11data,bias12data,bias13data,bias14data,bias15data])
ftotal = np.asarray([flat1data,flat2data,flat3data,flat4data,flat5data,
flat6data,flat7data,flat8data,flat9data,flat10data])
mv = np.max(btotal, axis=0)
sums = np.sum(btotal, axis=0)
sub = sums-mv
btotalavg = sub/(len(btotal)-1)
i=0
for fdata in ftotal:
bfdiff = abs(fdata-btotalavg)
for bfdata in bfdiff:
newname = 'bfdiff%s' %i
for w in newname:
hdu = fits.PrimaryHDU(bfdiff)
hdu.writeto(w+'.fits')
不管出于什么原因,你都在文件名中的每个字符上循环。你在写:
然后呢
你期望额外的
for
循环做什么?它所做的只是循环newname
中的每个字符。你知道吗顺便说一句,您使用了文件名格式模板
'bfdiff%s'
,但稍后会附加+ '.fits'
。您可以使用'bfdiff%s.fits'
这样的格式字符串一下子完成这一切。你知道吗您的另一个问题是,实际上并没有增加循环变量
i
,我假设您希望这样做,以便每个文件都有不同的文件名。你知道吗相关问题 更多 >
编程相关推荐