Python 文件中的值之和,负数?

Python 文件中的值之和,负数?,python,file,sum,addition,Python,File,Sum,Addition,我有一个文件,每行有一个整数,数字之间没有逗号。当我去获取文件中的数字之和时,它只对正整数有效。我所拥有的不适用于文件中的负数。有没有办法做到这一点?我的问题代码: if line.strip().isdigit(): total += int( line) 如果文件中的所有数字都是负数,它只会将总和返回为0。我还可以使用什么其他方法来实现相同的目标(文件中所有数字的总和)来添加正整数和负整数?问题是这些方法要求所有字符都是数字,而-不是;看 如果您的文件包含int和n

我有一个文件,每行有一个整数,数字之间没有逗号。当我去获取文件中的数字之和时,它只对正整数有效。我所拥有的不适用于文件中的负数。有没有办法做到这一点?我的问题代码:

if line.strip().isdigit():
            total += int( line)

如果文件中的所有数字都是负数,它只会将总和返回为0。我还可以使用什么其他方法来实现相同的目标(文件中所有数字的总和)来添加正整数和负整数?

问题是这些方法要求所有字符都是数字,而
-
不是;看

如果您的文件包含int和non-int,则可能会看到
is\u number
:但将其修改为int。类似于:

def is_number(s):
    try:
        int(s)
        return True
    except ValueError:
        return False

然后使用
is_number
如果您有
is_digit

问题是这些方法要求所有字符都是数字,而
-
不是;看

如果您的文件包含int和non-int,则可能会看到
is\u number
:但将其修改为int。类似于:

def is_number(s):
    try:
        int(s)
        return True
    except ValueError:
        return False
然后在你有数字的地方使用
is\u number
is\u digit
,怎么样


尝试:
总计+=整数(行)
除:
通过

怎么样


尝试:
总计+=整数(行)
除:
通过

我试图不导入东西。有没有其他不导入任何内容的方式呢?但这不就是忽略我从txt文件中获取数字的负数吗?这和我的目标不一样吗?而且我只是在看整数,我尽量不导入东西。有没有其他不导入任何内容的方式呢?但这不就是忽略我从txt文件中获取数字的负数吗?这和我的目标不一样吗?而且我只是在寻找整数。可能的重复在你的文件中除了整数还有什么其他的吗?如果不是,则不需要isdigit()检查。如果是,还能在里面找到什么?@MarkusM。在我试图求和的文件中,除了整数之外,没有其他任何东西。可能的重复项除了整数,你的文件中还有其他东西吗?如果不是,则不需要isdigit()检查。如果是,还能在里面找到什么?@MarkusM。在我试图求和的文件中,除了整数之外没有别的东西。如果不是正数,这完全可以通过将数字相加来实现,不是吗?嗨@Nick,int('-123')可以正常工作。我想你只需要关心转换成整数是否合法。如果这些数字不是正数,那么把它们加在一起就可以了,不是吗?嗨@Nick,int('-123')可以正常工作。我认为您只需要关心转换为int是否合法。