11

Atm私はこれを私のコードとして持っています.最初の行はうまくいくようですが、2行目でエラーが発生します.

os.chdir('C://Users/Alex/Dropbox/code stuff/test')
subprocess.call('ffmpeg -i test%d0.png output.avi')

また、このように実行しようとすると、1秒のcmdがちらつき、何も起こりません

os.system('ffmpeg -i test%d0.png output.avi')
4

5 に答える 5

7

別の方法で呼び出した方がよいでしょうsubprocess.call

推奨される方法は次のとおりです。

subprocess.call(['ffmpeg', '-i', 'test%d0.png', 'output.avi'])

または:

subprocess.call('ffmpeg -i test%d0.png output.avi', shell=True)

この理由については、マニュアルを参照してください。私は引用します:

args はすべての呼び出しに必要であり、文字列または一連のプログラム引数でなければなりません。一連の引数を提供することは、モジュールが必要な引数のエスケープと引用を処理できるため (たとえば、ファイル名にスペースを許可するため)、一般的に好まれます。単一の文字列を渡す場合は、 shell が True (以下を参照) であるか、引数を指定せずに実行するプログラムの名前を文字列で指定する必要があります。

于 2013-05-25T10:23:38.007 に答える
0

使用している Python のバージョンは何ですか? バージョン 2.6 以降、getstatusoutput() は非推奨になりました。Python 3 では、サブプロセスを使用して同じ効果を得ることができます。

subprocess.getoutput('cd /Users/Alex/code/pics/')
于 2013-05-25T09:32:17.867 に答える