2024-09-28 18:57:34 发布
网友
我正试图用Python编写一个程序,我被告知要运行一个.exe文件。当这个.exe文件运行时,它会吐出很多数据,我需要在屏幕上打印出一行。我很确定我需要使用subprocess.popen或类似的东西,但我对子流程还不熟悉,也不知道。有没有人能给我一个简单的方法来完成这件事?
subprocess.popen
像这样的:
import subprocess process = subprocess.Popen(["yourcommand"], stdout=subprocess.PIPE) result = process.communicate()[0]
@Paolo的解决方案是完美的,如果您有兴趣在流程执行完毕后打印输出。如果要在进程运行时轮询输出,必须这样做:
process = subprocess.Popen(cmd, stdout=subprocess.PIPE) while True: out = process.stdout.readline(1) if out == '' and process.poll() != None: break if out.startswith('myline'): sys.stdout.write(out) sys.stdout.flush()
像这样的:
@Paolo的解决方案是完美的,如果您有兴趣在流程执行完毕后打印输出。如果要在进程运行时轮询输出,必须这样做:
相关问题 更多 >
编程相关推荐