使raw_input从文件中读取

1 投票
1 回答
1460 浏览
提问于 2025-05-01 00:26

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

撰写回答