我需要在文件中对数字求和

时间:2016-03-23 23:44:00

标签: python

好的我现在正在学习读写文件,但我需要一些帮助来对文件中的数字求和。

def main ():
    sample = open (r'C:\user\desktop\text.txt','r')
    for i in range (the range of int is unknown)
        file = sample.read ()
    sample.close ()
main ()

3 个答案:

答案 0 :(得分:2)

您可以像这样迭代文件:

for i in sample:

并使用int()转换为整数。

for循环可以使用地图和总和sum完成。

这是最终代码:

def main ():
    sample = open (r'C:\user\desktop\text.txt','r')
    result = sum(map(int, sample))
    print(result)
    sample.close ()
main ()

答案 1 :(得分:1)

你想要的是:

for line in sample:
    # process the line

如果每一行只包含一个整数,您可以将其进一步简化为sum(map(int, sample))

答案 2 :(得分:0)

为了增加安全性,您应该使用错误检查来转换整数,并在读取之前确保该文件存在。

import os

def safecast(newtype, val, default=None):
    try:
        return newtype(val)
    except ValueError:
        pass
    return default

def sumfile(filename):
    if not os.path.isfile(filename):
        return None
    sum = 0
    with open(filename, "r") as file:
        for line in file:
            sum += safecast(int, line, 0)
    return sum

sum = sumfile(r'C:\user\desktop\text.txt')
print(sum)