在控制台中获取python子进程的输出
我使用上面的语句在基于django python的服务器上运行一个C程序进行一些计算,在服务器运行和执行子进程时,有一些在控制台中获取python子进程的输出,python,c,django,Python,C,Django,我使用上面的语句在基于django python的服务器上运行一个C程序进行一些计算,在服务器运行和执行子进程时,有一些printf()语句的输出我希望在stdout上看到,如何做到这一点?如果您实际上不需要将输出作为字符串提供给python代码,您可以使用os.system,或subprocess.call,而无需将stdout重定向到其他地方。然后,C程序的stdout将直接转到python程序的stdout 如果您需要流式stdout和以字符串形式访问输出,则应使用subprocess.P
printf()
语句的输出我希望在stdout
上看到,如何做到这一点?如果您实际上不需要将输出作为字符串提供给python代码,您可以使用os.system
,或subprocess.call
,而无需将stdout
重定向到其他地方。然后,C程序的stdout
将直接转到python程序的stdout
如果您需要流式
stdout
和以字符串形式访问输出,则应使用subprocess.Popen
(或旧的popen2.popen4
)获取输出流的文件描述符,然后重复读取流中的行,直到用尽为止。同时,您保留了所获取的所有数据的连接版本。是循环的一个示例。如果您实际上不需要将输出作为字符串提供给python代码,您可以只使用os.system
,或subprocess.call
,而无需在别处重定向stdout
。然后,C程序的stdout
将直接转到python程序的stdout
如果您需要流式
stdout
和以字符串形式访问输出,则应使用subprocess.Popen
(或旧的popen2.popen4
)获取输出流的文件描述符,然后重复读取流中的行,直到用尽为止。同时,您保留了所获取的所有数据的连接版本。是循环的一个示例。如果子流程结束后一切正常,您可以使用-打印(流程)
?否则,您可能需要使用Popen
@AnandSKumar。您能否提供一个小示例代码?如果子流程结束后,您可以使用-打印(流程)
?否则,您可能需要使用Popen
@AnandSKumar,请提供一个小示例代码
process = subprocess.check_output(BACKEND+"mainbgw setup " + str(NUM_USERS), shell=True,\
stderr=subprocess.STDOUT)