我要在终端中设置stdin数据运行程序
我知道这行有效:
python script.py < list.txt
文件示例:
# script.py
name1 = input()
name2 = input()
name3 = input()
print(name1)
print(name2)
print(name3)
文件txt
123
123
123
这就像一个符咒,因为file.txt
有3行,而python中的脚本也有3行。
但是如果file.txt
只有两行,则返回此错误:
Traceback (most recent call last):
File "script.py", line 4, in <module>
name3 = input()
EOFError: EOF when reading a line
这只是一个例子,但是我有一个像REPL这样的程序,我想用第一行过滤数据并保持交互模式
示例:
流量: 第一个STDIN:获取第一行 第二STDIN:获取第二行 第三STDIN:没有第三行,启动交互模式(如C中的scanf) 第4个STDIN:没有更多的行,保持交互模式 .....
如何在终端中执行此操作? 附:我正在使用Linux Ubuntu
感谢:D