在一些shell脚本中,你需要确认“yes”来运行该脚本,而更简单的方法是使用“yes”和管道,像这样:
yes | test.py
然后,您就可以自动运行shell脚本而无需再回答“是”的问题了。今天,当我尝试在Python中使用以下方法:os.system("yes|**.sh")时,出现了错误。
这是我的test.py文件:
import os
def f():
cmd1 = "yes | read "
os.system(cmd1)
f()
并在shell中输入:python test.py 运行。错误信息为: yes: 标准输出:Broken pipe yes: 写入错误
但是如果我在shell中输入 "yes|read",它可以正常工作。 有人能告诉我为什么吗?
subprocess
模块。 - Wooble