如何在python中对文本文件中的数字求和?假设我们有一些具有如下数字的文本文档:
320
5203
5246
我们希望 python 打开该文件并将这些数字相加得到结果:10769。我该怎么做?
如何在python中对文本文件中的数字求和?假设我们有一些具有如下数字的文本文档:
320
5203
5246
我们希望 python 打开该文件并将这些数字相加得到结果:10769。我该怎么做?
如果文件不是太大,您可以将文件读入数组,使用列表推导将行转换为整数列表,然后计算总和:
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'))