我正在處理一個小的代碼分配,偶然發現了一些我不明白的東西。所以我希望有人能幫助我並給我一個解釋。Python代碼讀取文件和提取數據
因此,我正在編寫一個代碼來編寫一個提示輸入文件名的程序。該文件可以在這裏找到:http://www.pythonlearn.com/code/mbox-short.txt。使用該文件,我通過它閱讀和查找格式的行:
X-DSPAM-Confidence: 0.8475.
我的工作就是計算這些線,並從每一行提取浮點值,並計算這些值的平均值。
我有下面的代碼至今:
#fname = File Path
fh = open(fname)
emptyl=[]
for line in fh:
if not line.startswith("X-DSPAM-Confidence:"): continue
line=line.strip()
print line
for confidence in line:
try:
x = float(line[-6:])
print x
y = emptyl.append(x)
print y
except:
pass
當我打印線,我得到27行與X-DSPAM-Confidence:"
。但是,當我打印x
來查看我的代碼的結果時,我得到的每一個數字在打印行中出現了26次。爲什麼數字重複?另外,當我打印y
,我得到None
。我也不明白爲什麼它給我None
而不是實際的數字。
爲什麼不使用with語句。它也會清理文件資源。 –
好點。添加。 –