使用 Python 在循环中使用生成器读取多个 txt 文件

瓦格里斯

程序调用该函数并仅在循环中打开它一次。你有什么关于如何让它一直在循环中调用函数的解决方案吗?(我的意思是每个 j)

def list_spectra(interpolated, txt):
    return (f for f in listdir(interpolated) if f.endswith("." + txt))

wl = []
fl = []
er = []

flux  = []
error = []

med_flux = []
med_err  = []

spectra_all = list_spectra("C:\\..my path here..\\interpolated","txt")
path = "C:\\..my path here..\\interpolated\\"

for j in range(0,len(wavelength)):
   for f in spectra_all:
        data = np.loadtxt(path+f)
        for ii in range(0,len(data)):

            wl = data[:,0]
            fl = data[:,1]
            er = data[:,2]    

            for i in range(0,len(wl)):
                if wl[i] == wavelength[j]:
                    flux.append(fl[i])
                    error.append(er[i])

    med_flux.append(np.median(flux))
    med_err.append(np.median(error))
深渊

你的意思是:

for j in range(0,len(wavelength)):
    spectra_all = list_spectra("C:\\..my path here..\\interpolated","txt")
    for f in spectra_all:
        data = np.loadtxt(path+f)
        # etc

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章