我想默认从文件中获取输入。 例如:
col_value.toInt < num
此语句应从文件中获取输入,而不是等待键命中。我不希望通过将标准输入重定向到文件来实现,默认情况下我想要它。简单来说,键盘是输入的默认设备,因此我想要一个文件来输入,而不是键盘。
答案 0 :(得分:0)
您可以将文件附加到操作系统级别的标准输入,如下所示:
python script.py <input.txt
对于脚本,似乎只要调用input()
,用户就会从文件中键入下一行。
答案 1 :(得分:0)
一个简单的解决方法。
def file_input(filename):
with open(filename, 'r') as f:
for line in f:
yield line
_input_iterator = file_input('input.txt')
def input_(): # replace input
return _input_iterator.next()
您可以通过将其包装为类或将其作为模块来避免全局变量。
我不喜欢这样但是有可能。要真正取代stdin(避难所在窗户上尝试过它)
import sys
sys.stdin = file('input.txt', 'r')
input_line = input()
对于UNIX模型,stdin
只是一个文件。当您使用pipe
等实用程序时,您将修改/重定向子进程的stdin
。如果在父母的范围(例如终端)中修改了stdin
进程,感觉会更舒服。否则它看起来并不像#std&#39;了。