我正在尝试测试一些使用raw_input
的脚本,我有一些预定义的输入文件,其中每一行都是合适的输入。
E.g
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()
按预期打印文件的内容。
答案 0 :(得分:3)
执行文件时,请使用<
运算符,如下所示:
python myfile.py < input.txt