我有一个格式为
的文本文件2
1 3
2 4
我编写了一个python程序,要求输入数量并打印出值和。
n = int(raw_input())
for _ in range(n):
a,b = map(int,raw_input().split())
print a+b
但是
答案 0 :(得分:4)
1 + 2. Shell重定向。
$ python foo.py < input.txt > output.txt
答案 1 :(得分:1)
您可以使用fileinput
模块使脚本支持从文件读取输入和从标准输入读取。
import fileinput
num_inputs = None
for line in fileinput.input():
if num_inputs is None:
num_inputs = int(line)
else:
a,b = map(int, line.split())
print a+b
这样,如果您将文件名作为参数传递给脚本,它会从中读取,否则从stdin读取。
请注意,在此片段中,我只读取了第一行之后文件中的所有输入,并且没有真正使用num_inputs
变量,但您可以轻松地更改它以强制执行预期的输入数量读取。
至于写入文件,这是一个基本的python问题,已经回答here。
答案 2 :(得分:1)
假设您的输入来自文件inp.txt
,例如:
$ cat inp.txt
2
1 3
2 4
您可以使用下面的代码,它基本上逐行读取输入文件,并计算值并存储它们:
with open("inp.txt", "r") as inp, open("out.txt", "w") as out:
no_of_cases = int(inp.readline())
for line in inp:
a,b = map(int,line.split())
out.write("%s\n" % (a + b))
请注意,上面任何地方的代码都没有使用no_of_cases
,因为这个示例是多余的。
这将为您生成输出文件out.txt
,其中包含以下数据:
$ cat out.txt
4
6