【发布时间】:2021-01-24 12:04:03
【问题描述】:
我有很多 python 脚本要运行,我想自动化它们。它们都在特定时间接受输入(在本例中为 3 个)。我已经尝试过这样的事情,但由于 echo 没有 EOF 它不起作用:
os.system("echo 4 | echo 5 | echo 6 | python script.py")
我无法更改 script.py 的内容,并且它不接受参数。
如何使用一行 python 代码自动输入?谢谢。
【问题讨论】:
-
您的 shell 代码只需将
6输入到 Python 脚本中。管道输入到echo没有意义,因为它忽略了它的标准输入。可能你的意思是printf '%s\n' 4 5 6 | python script.py。更好的解决方案通常是import script并在现有脚本中运行它,而不是作为子进程(尽管在某些情况下您确实需要两个进程,例如当您需要能够中断或终止子进程时)父母)。