程序冻结试图读取子进程'标准输出

时间:2017-04-07 19:30:46

标签: python subprocess

我有一些程序,可以制作截图并将它们上传到某个服务器,之后打印到该ss的链接。

输出就是这样:

######################################################################## 100,0%
https://puu.sh/vcE2l/533ecb687d.png
  • 第一行的行为类似于加载栏,它使用stderr流。

  • 第二行是stdout,我想要检索该链接。

所以我写的脚本如下:

p = subprocess.Popen(['puush', '-a'],stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()

脚本冻结了communication(),即使当我从终端使用它时,puush程序正常终止。

当我这样做时:

p = subprocess.Popen(['puush', '-a'],stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p.wait()
print('Here')

我看到进程正常终止。

如果有人能给我一个提示,我会非常感激。

0 个答案:

没有答案