Python スクリプトから C++ で記述された実行可能ファイル (A) の出力を読み込もうとしています。私はLinuxで働いています。私がこれまでに知っている唯一の方法は、サブプロセス ライブラリを使用することです
まずはやってみた
p = Popen(['executable', '-arg_flag1', arg1 ...], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
print "reach here"
stdout_output = p.communicate()[0]
print stdout_output
sys.stdin.read(1)
私の実行可能ファイル(99%のCPU使用率)と私のスクリプトの両方をハングアップさせることが判明しました:S:S:Sさらに、ここに到達すると出力されます。
その後、私は試しました:
f = open ("out.txt", 'r+')
command = 'executable -arg_flag1 arg1 ... '
subprocess.call(command, shell=True, stdout=f)
f.seek(0)
content = f.read()
これは機能しますが、コンテンツの最後の文字が繰り返されるか、予想よりも多くの値が生成される出力が得られます:S
とにかく、誰かがこれを行うためのより適切な方法を教えてくれますか?
前もって感謝します