我正在尝试编写一个启动子进程并写入子进程的标准输入的 python 脚本。
在这里我可以写并得到一个结果:
def get_band():
print "band"
p = subprocess.Popen(["/path/to/program","-c","-"], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
ran_stdout = p.communicate(input='show status')[0]
print(ran_stdout)
但是打印语句给出:
Unable to connect at 127.0.0.1, Connection refused.
如果我这样做,将显示相同的结果:
p = subprocess.Popen(["/path/to/program","-c","-"], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
print p[0]
如果我从终端运行这个命令,它工作正常,我可以得到结果。
给定的参数有什么问题?
["/path/to/program","-c","-"]