サブプロセス ライブラリで遊んでみます。
$youtube-dl http://www.youtube.com/watch?v=co5gy_2uOEY
端末では期待どおりに動作しますが、IDLE で実行される次のコード スニペットは何もしていないようです。
> os.chdir('/home/andrew')
> line = 'http://www.youtube.com/watch?v=co5gy_2uOEY'
> yt_dl = subprocess.call(['youtube-dl',line])
1
あるいは、私も試しました:
> yt_dl = subprocess.Popen(['youtube-dl',line])
しかし、それは戻ってき1
て何もしませんでした。何が起きてる?
編集:
行を二重引用符で囲むと機能しましたが、このサブプロセスがハングします。次の変更を加えようとしましたが、まだ機能しませんでした。
yt_dl = ["youtube-dl","http://www.youtube.com/watch?v=co5gy_2uOEY"]
x = subprocess.Popen(yt_dl, stdout=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
stdout, stderr = x.communicate()