使raw_input从文件中读取
我正在尝试测试一个使用 raw_input
的脚本,我有一些预先准备好的输入文件,每一行都是合适的输入。
比如说,输入文件叫做 input.txt
:
y
n
y
...
我想把 sys.stdin
替换成一个文件对象,但似乎出了点问题。
with open("input.txt") as f:
sys.stdin = f
con = raw_input("aaa") # in reality this is a function which somewhere calls raw_input
print con # prints nothing
sys.stdin = old # saved earlier
我希望调用 raw_input
的函数能从文件中获取输入,而不是从 stdin
。我有好几个这样的文件,想要循环读取它们并相应地报告结果。比如在这个例子中,我希望 con
里能包含 'y'
。
但显然:
with open("advanced_test1.in") as f:
print f.read()
如预期那样打印出文件的内容。
1 个回答
3
在执行这个文件的时候,可以使用 <
这个符号,方法如下:
python myfile.py < input.txt