【发布时间】:2012-07-11 04:20:34
【问题描述】:
我正在尝试从使用子进程运行的 C++ 程序中的一组打印语句中读取数据。
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()
但是,我得到的不是数据,而是一个整数,即退出代码,0 或错误代码。当然,python 然后告诉我“AttributeError: 'int' object has no attribute 'communicate'”。
我如何实际获取数据(printf)?
【问题讨论】:
标签: python subprocess stdout communicate