我正在努力使用python的子进程。这是我的任务:
到目前为止我的尝试:
我被困在这里使用了Popen。我明白,如果我使用
subprocess.call("put command here")
这有效。我想尝试使用类似的东西:
import subprocess
def run_command(command):
p = subprocess.Popen(command, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
我使用run_command("insert command here")
,但这没有任何作用。
关于2.我认为答案应该与此类似: Running shell command from Python and capturing the output, 但由于我无法工作,我还没有尝试过。
答案 0 :(得分:7)
至少要真正启动子进程,你必须告诉Popen对象真正进行通信。
def run_command(command):
p = subprocess.Popen(command, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
return p.communicate()
答案 1 :(得分:6)