1

以下代码将获得执行另一个程序的命令行输出:

import subprocess
p = subprocess.Popen('ls', stdout=subprocess.PIPE)
print p.communicate()[0]

但是有些程序如 wget、ffmpeg 会在命令行中显示一个进度条,并且一直更新它的值,像这样:

12% [--- ] 105,691 50.6K/s eta 1h 43m

我尝试了上面的代码来获取 wget 的输出,但它失败了。在 wget 执行完成之前它无法获得输出,并且输出是一个空字符串。

4

0 回答 0