从文件中读取raw_input

时间:2014-11-01 12:08:40

标签: python file stdin

我正在尝试测试一些使用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()

按预期打印文件的内容。

1 个答案:

答案 0 :(得分:3)

执行文件时,请使用<运算符,如下所示:

python myfile.py < input.txt