【发布时间】:2017-09-04 02:11:02
【问题描述】:
我正在尝试使用我生成的终端中的通信来执行命令。
sitecreate_proc = subprocess.Popen(['gnome-terminal'], stdout=subprocess.PIPE, stdin=subprocess)
out = sitecreate_proc.communicate("pwd")
print out
“out”变量始终为空。 显示终端是必要的。
【问题讨论】:
-
我记得通信返回一个元组,
communicate() returns a tuple (stdoutdata, stderrdata). so you can't user communicate("pwd"). gnome-terminal returns, then try to get that result, bysitecreate_proc.communicate()[0]` 用于 stroutdate,或sitecreate_proc.communicate()[0]用于 stderrdata -
@darvark,是的,你是对的。即使我使用communicate("pwd")[0] 它什么也没给我。
-
@darvark,是的,请发布答案:)
标签: python subprocess popen