好的我现在正在学习读写文件,但我需要一些帮助来对文件中的数字求和。
def main ():
sample = open (r'C:\user\desktop\text.txt','r')
for i in range (the range of int is unknown)
file = sample.read ()
sample.close ()
main ()
答案 0 :(得分:2)
您可以像这样迭代文件:
for i in sample:
并使用int()
转换为整数。
for
循环可以使用地图和总和sum
完成。
这是最终代码:
def main ():
sample = open (r'C:\user\desktop\text.txt','r')
result = sum(map(int, sample))
print(result)
sample.close ()
main ()
答案 1 :(得分:1)
你想要的是:
for line in sample:
# process the line
如果每一行只包含一个整数,您可以将其进一步简化为sum(map(int, sample))
。
答案 2 :(得分:0)
为了增加安全性,您应该使用错误检查来转换整数,并在读取之前确保该文件存在。
import os
def safecast(newtype, val, default=None):
try:
return newtype(val)
except ValueError:
pass
return default
def sumfile(filename):
if not os.path.isfile(filename):
return None
sum = 0
with open(filename, "r") as file:
for line in file:
sum += safecast(int, line, 0)
return sum
sum = sumfile(r'C:\user\desktop\text.txt')
print(sum)