【发布时间】:2017-02-18 17:41:56
【问题描述】:
如何启动一个 Python 脚本,其中一些输入已经在标准输入中等待。例如,假设我有一个位于main.py 的简单脚本,使用 Python3:
mystr = input()
print(mystr)
如果您刚刚从终端调用python3 main.py,脚本会暂停并等待您输入内容。点击回车后,它将继续并打印出您输入的内容。但是有没有办法在脚本执行之前将一些东西放入标准输入中?这样脚本就不会暂停,它会接受已经存在的内容。我设想的是这样的:
python3 main.py | my string 但这不起作用。
请注意,我不是在询问命令行参数:我正在编写一个必须从标准输入获取输入的应用程序,因此我正在寻找一种方便的解决方案来测试该环境。
【问题讨论】:
-
echo 'my string' | python3 main.py不起作用吗? -
或者如果您有样本输入文件,
cat my_input | python3 main.py。 -
@Jonathan 您的解决方案有效。如果你把它变成一个答案,我会接受它。