それはPython Shell
でもBash Shell
で実行することはできませんので、あなたのコード例は、ミックスやPython
コードとBash
コードです:)
それは:
私のコードBash
で2つのコマンドとして機能します。
(Windowsにはおそらくがありませんコマンド)Bash
必要はありません
printf "file '%s'\n" *.wav > input.txt
ffmpeg -f concat -i input.txt -c copy output.mpeg
Python
バージョン:
#!/usr/bin/env python3
import os
import sys
import glob
import subprocess
# get Current Working Directory (CWD)
pwd = os.getcwd()
# get list of files
if len(sys.argv) > 1:
#filenames = sys.argv[1:] # Linux
filenames = glob.glob(sys.argv[1]) # Windows
else:
filenames = glob.glob("*.mpg")
#print(filenames)
# generate "input.txt" file
with open("input.txt", "w") as f:
for name in filenames:
f.write("file '{}/{}'\n".format(pwd, name))
#f.write("file '{}'\n".format(name))
# run ffmpeg
subprocess.run('ffmpeg -f concat -i input.txt -c copy output.mpeg', shell=True)
をそして、あなたは引数つまりの有無にかかわらず、それを実行することができます。 "*.wav"
Windows用
python script.py *.wav
(唯一のLinux上でテスト)
printf
(および他のBash
コマンド):GnuWin32GnuWin32
上
もっとやるなぜそのようにPythonのコードではありませんあなたはPythonシェルでそれを実行しますか?これはBashコードなので、Bashコンソール/ターミナルで実行します。あなたの返信のために@furasありがとう。 – furas
私はffmpegライブラリで同様のコードを見つけました。どこで実行すればいいのですか? – SMH
Linux(またはMac)を使用していますか?あなたはバッシュが何であるか知っていますか? – furas