【问题标题】:Reading multiple txt files with generator in loop, using Python使用 Python 在循环中使用生成器读取多个 txt 文件
【发布时间】:2017-12-05 11:41:27
【问题描述】:

程序调用该函数并在循环中只打开一次。你有什么解决方案可以让它一直调用循环中的函数吗? (我的意思是每个 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))

【问题讨论】:

    标签: python loops generator


    【解决方案1】:

    你是这个意思吗:

    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
    

    【讨论】:

    • 是的!我的意思是... :P 有时经过数小时的编程很难看到清晰的东西.. 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    相关资源
    最近更新 更多