python sum()函数在使用时返回[TypeError:';str';对象不可调用]
我编写了一个代码,读取文件并打印文件中包含的所有数字的总和 例如,包含(text.txt)的txt文件 将返回312 首先,我编写了一个简短的代码,如下所示python sum()函数在使用时返回[TypeError:';str';对象不可调用],python,sum,typeerror,Python,Sum,Typeerror,我编写了一个代码,读取文件并打印文件中包含的所有数字的总和 例如,包含(text.txt)的txt文件 将返回312 首先,我编写了一个简短的代码,如下所示 import re f = open("text.txt") numbs = re.findall('[0-9]+', f.read()) numbsls = [] for i in range(0,len(numbs)): numbsls.append(int(numbs[i])) print(sum(numbsl
import re
f = open("text.txt")
numbs = re.findall('[0-9]+', f.read())
numbsls = []
for i in range(0,len(numbs)): numbsls.append(int(numbs[i]))
print(sum(numbsls))
这个代码运行良好。接下来,我修改了代码,使它能够逐行读取文本。(为了在以后的处理中获得更大的灵活性)它看起来是这样的
import re
f = open("text.txt")
t = True
numbsls = []
for line in f:
line = line.rstrip()
numbs = re.findall('[0-9]+', line)
if t:
sum = line
t = False
for i in range(0,len(numbs)):
numbsls.append(int(numbs[i]))
print(sum(numbsls))
但是当我运行代码时,它返回了这个回溯
print(sum(numbsls))TypeError第16行:“str”对象不可调用
我查了一些文章和其他关于这个问题的问题,但运气不好。在我看来,一切都很好,我看不出哪里出了问题
任何帮助或反馈都将不胜感激,谢谢 sum是python中的内置函数,不应将其用作变量。行
sum=line
正在创建问题。您可以使用变量total
代替sum。sum=line
将覆盖内置函数sum()
。我不知道如果的话是什么意思。@buran啊,我把它放在这里是为了检查(我一定忘了把它去掉)谢谢你
import re
f = open("text.txt")
t = True
numbsls = []
for line in f:
line = line.rstrip()
numbs = re.findall('[0-9]+', line)
if t:
sum = line
t = False
for i in range(0,len(numbs)):
numbsls.append(int(numbs[i]))
print(sum(numbsls))