查找数字总和时出现无效的文字错误

时间:2014-09-14 20:21:35

标签: python string int

我有一个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'

1 个答案:

答案 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()