Skip to main content
 首页 » 编程设计

python之从无限期运行的 Popen 获取部分 stdout 和 stderr

2025年05月04日12Leo_wl

<分区>

Possible Duplicate:
Bypassing buffering of subprocess output with popen in C or Python

我正在围绕应该无限期运行的服务器 cmd 行脚本构建一个包装器。 我需要做的是在不等待子流程完成的情况下获取当前黑啤酒。

我的意思是,如果我运行以下命令,一切正常:

ls = Popen(["ls"], stdout=PIPE) 
output = ls.stdout.read() 

但是如果我对一个无限期运行的程序做同样的事情:

server = Popen(["python","-m","SimpleHTTPServer"], stdout=PIPE) 
output = server.stdout.read() 

它不会回来了......

更新:偶数

 output = server.stdout.read(1)  

挂起...

您知道是否有办法以独立于操作系统的方式从 Popen(或类似的线程实现)捕获部分输出吗?