我有一个txt文件:
10 5
我正试图找到这些数字的总和:
sum([int(s.strip()) for s in open('file.txt').readlines()]).
我收到此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '10 5'
答案 0 :(得分:1)
条带不分开数字。您正在尝试转换字符串&#34; 10 5&#34;成一个整数。 int(str)
只能在没有任何其他ASCII符号的情况下转换数字。您必须使用split
来分割字符串。
sum = 0
with open('file.txt', 'r') as inFile:
for line in inFile:
for num in line.split(' '):
sum += int(num)
使用numpy会更容易
import numpy as np
np.loadtxt('file.txt').sum()