阅读后python文件的内容消失了吗?

时间:2018-04-07 20:55:54

标签: python file

我想要汇总文件中的所有数字。 我写了两个解决问题的解决方案,如下所示。

import sys
import re

if len(sys.argv) != 2:
    print("Need 2 parameters!")
    quit(2)    # 2 for command line error
    # 0 for normal quit
    # 1 for all other kinds of error

if sys.argv[1] == "sample" :
    f = open("regex_sum_42.txt", "r")
else:
    f = open("regex_sum_89382.txt", "r")

#Solution1:

total = 0
for line in f :
    line_num = re.findall("[0-9]+", line)
    total = total + sum([int(each) for each in line_num])

print(total)
print("******************")
print(f.read())

#Solution2:
print(sum([int(each) for each in re.findall( "[0-9]+" ,f.read())]))

我认为输出是

511355
******************
(something that is file content)
511355

然而,输出是

511355
******************

0

我确保两种解决方案都是正确的。如果我单独运行两个解决方案,则输出为511355。

但是,当我一起运行它们时,解决方案2的结果是0.我试图在解决方案1之后打印f并且它什么也没有。有人知道为什么吗?

0 个答案:

没有答案