0
私はPythonでサブプロセスを使用して、バインディングのテンソルフローの結果を取得します。Pythonのサブプロセス出力
import subprocess
cmd = ["bazel-bin/tensorflow/examples/label_image/label_image"]
pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
output = pipe.communicate()[0]
print "Result: ", output
問題は結果を端末に表示され、私はリターンが結果
そして、変数「出力」でそれをキャプチャすることができないということです。(何も)
'stderr = subprocess.PIPE'と' output、err = pipe.communicate() 'でstderrをキャプチャし、errにあるものを参照してください。 – sberry
@sberryが言っているように、出力は 'stderr'になる可能性があります。また、' subprocess'モジュールを使うときは 'Popen'の周りに' check_output'ラッパーを使うことができます。例えば 'output = subprocess.check_output(cmd 、stderr = subprocess.PIPE、shell = True) ' –
ここで' shell = True'は必要ありません。コマンドはリストにあり、サブシェルを実行せずに実行できます。 – tdelaney