【发布时间】:2018-04-16 02:08:52
【问题描述】:
我创建了一个 Subprocess 对象。子进程调用一个 shell,我需要将下面提供的 shell 命令发送给它。我试过的代码:
from subprocess import Popen, PIPE
p = Popen(["code.exe","25"],stdin=PIPE,stdout=PIPE,stderr=PIPE)
print p.communicate(input='ping 8.8.8.8')
命令不执行,shell 没有输入任何内容。提前致谢。
【问题讨论】:
-
你检查过你进程的stderr吗?
-
是的,它是空的。我认为
-
所以你的 code.exe 生成了一个 shell?
-
是的,它产生了外壳
-
等等,你为什么要打印 p.communicate 函数?
标签: python subprocess pipe popen communicate