重複の可能性:
Python からプログラムを実行するにはどうすればよいですか? パス内のスペースが原因で os.system が失敗する
Python からコマンド ラインでプログラム (MP3gain.exe) を呼び出そうとしています。私の問題は、Pythonがコマンドラインに送信しているコマンドの周りに['']を配置し、dosがそれでコマンドを解釈できないように見えることです。これが私のコードです。
import os
import subprocess
import Editor
class normalize():
def __init__(self, file):
self.FileName = file
def work(self):
command = [ 'mp3gain /r /c' + self.FileName]
subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if __name__ == "__main__":
test = normalize("filename.mp3")
test.work()
これが役立つ場合、DOS で終了コードを出力すると、-2 になります。助けてくれてありがとう。