如何计算一个文件中数字的总和并将结果打印到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()
您也可以使用导入功能将这段代码作为模块导入到另一个文件中。在原始代码文件中,您可以使用代码将在其下的函数。然后,无论何时在输出文件中调用该函数,您都会得到输出。
我们有一个包含 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()
您也可以使用导入功能将这段代码作为模块导入到另一个文件中。在原始代码文件中,您可以使用代码将在其下的函数。然后,无论何时在输出文件中调用该函数,您都会得到输出。