相关疑难解决方法(0)

如何从subprocess.Popen中获取'实时'信息在python(2.5)中

我想以下列方式使用子进程模块:

  1. 创建一个可能需要很长时间才能执行的新流程.
  2. 捕获stdout(或者stderr,或者两者一起或分别捕获)
  3. 处理来自子进程的数据,可能在接收的每一行上触发事件(在wxPython中说)或者只是暂时将它们打印出来.

我已经用Popen创建了进程,但是如果我使用communication(),那么一旦进程终止,数据就会立刻出现在我面前.

如果我创建一个单独的线程,做了阻塞readline()myprocess.stdout(使用stdout = subprocess.PIPE)我不明白这种方法的任何行或者,直到进程终止.(无论我设置为bufsize)

有没有办法解决这个不可怕的问题,并且在多个平台上运行良好?

python subprocess stdout popen

46
推荐指数
2
解决办法
1万
查看次数

标签 统计

popen ×1

python ×1

stdout ×1

subprocess ×1