pythonで外部コマンド実行  [python]  [tips]

subprocess module使って外部コマンド起動する時にオプションを区切って入れるのが面倒

以下↓↓↓みたいなやり方で配列作成すると楽できる


>>> import shlex, subprocess
>>> commandline = input()
ffmpeg -f image2 -r 10 -i %3d.png -r:v 10 -crf 18 -an -s:v 640x368 -pix_fmt yuv420p -vcodec libx264 invisible.mp4
>>> args = shlex.split(commandline)
>>> args
 ['ffmpeg', '-f', 'image2', '-r', '10', '-i', '%3d.png', '-r:v', '10', '-crf', '18', '-an', '-s:v', '640x368', '-pix_fmt', 'yuv420p', '-vcodec', 'libx264', 'invisible.mp4']
>>> exit()