次のコードは、別のプログラムを実行するコマンド ライン出力を取得します。
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 の実行が終了するまで出力を取得できず、出力は空の文字列になります。