我正在处理一个小的代码分配,偶然发现了一些我不明白的东西。所以我希望有人能帮助我并给我一个解释。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语句。它也会清理文件资源。 –
好点。添加。 –