サブプロセスを開始し、サブプロセスの stdin に書き込む 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)
ただし、printステートメントは次のようになります。
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","-"]