如何在python中对文本文件中的数字求和?假设我们有一些文本文档有这样的数字:
320
5203
5246
我们希望python打开该文件并将这些数字相加得到结果:10769。我该怎么做?
答案 0 :(得分:2)
如果文件不是太大,你可以将文件读入数组,使用列表推导将行转换为整数列表,然后计算总和:
sum([int(s.strip()) for s in open('foo.txt').readlines()])
但是,这会将整个文件读入内存。如果你的文件很大,那么以强制方式累积总和可能会减少内存密集度:
result = 0
for s in open('foo.txt'): result += int(s.strip())
或者作为生成器表达式,以便列表不需要存储在内存中
sum(int(s.strip()) for s in open('foo.txt'))