python sum()函数在使用时返回[TypeError:';str';对象不可调用]

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

我编写了一个代码,读取文件并打印文件中包含的所有数字的总和

例如,包含(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(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))