如何计算一个文件中数字的总和并将结果打印到Python中的另一个文件中?

How to calculate the sum of numbers in one file and print the result into another file in Python?

我们有一个包含 2 个整数 a 和 b 的输入文本文件。计算刚刚输入的 2 个数字并将总和的值打印到输出文本文件中。 到目前为止,这是我尝试过的:

x= open ("input.txt", "r")
Sum=[]
z = x.readlines()
for i in z:
if i.isdigit():
    Sum += (z)
x.close()
y= open ("output.txt", "w")
y.write(str(Sum))
y.close()

您可以使用 eval() 功能使其更容易...

with open('output.txt', 'w') as out:
    with open('input.txt', 'r') as inp:
        out.write(str(eval(inp.read())))

input.txt:

1 + 1

output.txt

2

您从输入文件中读取的行是字符串,因此您需要将它们转换为整数。此外,每一行的末尾都有一个换行符“\n”,在您成功将每一行转换为 int 之前需要将其删除。

您的代码示例还存在其他几个问题。 Sum 是一个列表,但您不是要从 input.txt 中添加每个 int 吗? if i.isdigit() 也没有缩进。尝试一下,不过可以用 except 代替。

x = open("input.txt", "r")
Sum = 0
z = x.readlines()
for i in z:
    try:
        Sum += int(i.strip())
    except ValueError:
        pass

x.close()
y= open ("output.txt", "w")
y.write(str(Sum))
y.close()

您也可以使用导入功能将这段代码作为模块导入到另一个文件中。在原始代码文件中,您可以使用代码将在其下的函数。然后,无论何时在输出文件中调用该函数,您都会得到输出。