2016-08-16 3 views
0

wavブロブが私のdjangoプロジェクトに投稿され、mp3に変換しなければならない状況があります。私はプロセスがダウンしているが、それは少し冗長であるように見えますが、私はそれをやり直したいと思います。ブラムにブラブを供給して、「オンザフライで」変換することはできますか?

wav_path = os.path.join(full_path, "%s%s.wav" % (word.name, file_number)) 
mp3_path = wav_path[:-3] + "mp3" 
with open(wav_path, 'w') as f: 
    f.write(request.FILES['audio_file'].read()) 
    os.popen("lame %s --comp 40 %s" % (wav_path, mp3_path)) 
    os.popen("rm %s" % wav_path) 

ラメので、私はそこにsomethingを追加するため申し訳ありませんが、この

lame - --comp 40 outfile.m3p << infile.wav 
something infile.wav | lame - --comp 40 outfile.mp3 

を試してみましたが、私はその場所で使用するもののわからないよ、それは-で指定されたファイルの代わりに標準入力から何かを取ることができますと言います。ファイルにブロブを書き込んだ後にブロブを削除することは短くすることができます

答えて

1

あなたの例では、「何か」を「猫」に置き換えることができます。

cat infile.wav | lame - --comp 40 outfile.mp3 

しかし、あなたはすでにpythonでブロブを持っている場合には、あなたの代わりに.wavファイルに書き込むの迂回を行くの標準入力経由で直接パイプを、でした。 How do I write to a Python subprocess' stdin?

関連する問題