python-Popen一个命令,其中所有输出都需要说“是”

我需要自动执行以下命令

cmd="yes | vgremove <vgname>"

每当我用

Popen(cmd.split(),stdout=PIPE,stderr=PIPE)

它没有完成.我怀疑它要等到命令完成后,才能敲打管道,是否有替代方法???

解决方法:

在这种情况下,有一种更简单的方法:

Popen('vgremove -f <vgname>')

至于你的问题具体:

p = Popen(cmd.split(), stdout=PIPE, stderr=PIPE, stdin=PIPE)
p.stdin.write('yes')
上一篇:如何将“subprocess.call”的输出捕获到文件?


下一篇:如果我不在subprocess.Popen()中使用stdout = subprocess.PIPE,有什么区别?