我已經把這段代碼:遍歷整個文件蟒蛇
flux =[31.,29,27.,25.]
F=[]
with open("results.rdx", "r") as file1:
for line in enumerate(file1):
f_list = [float(i) for line in file1 for i in line.split(',') if
i.strip()]
F = f_list[7:11]
with open("results.txt", "a+") as file2:
file2.write(str(chisqfunc(flux,F)))
file2.write("\n")
我的輸入文件看起來像這樣:
5.0, 1000.0, 100000000000000.0, 115.2712, 230.538, 345.796, 461.0408,
1.053E-09, 1.839E-09, 1.632E-10, 1.959E-12, 4.109, 3.683, 3.586, 3.650
5.0, 1000.0, 500000000000000.0, 115.2712, 230.538, 345.796, 461.0408,
4.873E-09, 8.890E-09, 8.243E-10, 9.974E-12, 4.157, 3.704, 3.582, 3.649
5.0, 1000.0, 1000000000000000.0, 115.2712, 230.538, 345.796, 461.0408,
8.883E-09, 1.705E-08, 1.668E-09, 2.039E-11, 4.212, 3.731, 3.577, 3.648
其實有辦法多行,但它是沒有意義的發佈一切。該函數執行一些數組乘法等。我希望代碼能做的是:讀取第一行,將列7-10的值附加到數組F[]
,調用chisqfunc
並將結果打印到文件results.txt
。之後進行到第二行,追加新的值F
等 但它所做的是從第2行開始,並執行第2行的上述過程,並僅打印第2行的值。 我懷疑問題出在我宣佈的方式for
。 任何幫助,不勝感激。
請確保準確地重現您的縮進,特別是。當涉及到循環時。 – patrick
爲什麼在索引7之前丟棄所有數字?只是好奇。 –
你的邏輯是一個混亂,我建議從頭開始。 – Dan