サブプロセスを使用して実行されているC++プログラムでprintステートメントのセットからデータを読み出そうとしています。stdoutリダイレクトによるPythonのサブプロセスがintを返す
C++コード:
printf "height= %.15f \\ntilt = %.15f \(%.15f\)\\ncen_volume= %.15f\\nr_volume= %.15f\\n", height, abs(sin(tilt*pi/180)*ring_OR), abs(tilt), c_vol, r_vol; e; //e acts like a print
Pythonコード:
run = subprocess.call('Name', stdout = subprocess.PIPE, env={'LANG':'C++'})
data, error = run.communicate()
代わりにデータを取得するしかし、私は取得していますすべてが単一のint、終了コードで、0またはエラーコード。もちろん、Pythonは私に "AttributeError: 'int'オブジェクトに属性 'communications'がないことを伝えます。
実際にデータ(printf)を取得するにはどうすればよいですか?