我试图找到输入文件中所有数字的总和,但它不起作用。到目前为止,这是我的代码:
import re
fname = raw_input("Enter name of the file: ")
fh = open(fname)
for i in fh:
y = re.findall('[0-9]+', i)
print y
n=0
for p in y:
n = n + int(p)
print n
答案 0 :(得分:1)
这应该做:
import re
fname=raw_input("Enter name of the file: ")
with open(fname, 'r') as f: lines = f.readlines()
print map(lambda line: sum([int(i) for i in re.findall('[0-9]+', line)]), lines)
答案 1 :(得分:1)
除了错过两件事之外,您的代码才有效。 1)打开文件时,必须指定要以读取模式打开文件。 2)您必须阅读该文件。这是正确的代码:
import re
fname=raw_input("Enter name of the file: ")
fh=open(fname, "r")
data = fh.read()
y = re.findall('[0-9]+',data)
n=0
for p in y:
n = n + int(p)
print n