如何从python命令行运行程序

时间:2012-11-21 21:32:16

标签: python

  

可能重复:
  How do I execute a program from python? os.system fails due to spaces in path

我试图从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()

如果这有帮助,如果我打印出退出代码,则为-2。谢谢你的帮助。

2 个答案:

答案 0 :(得分:3)

command应该是一个字符串列表,其中mp3gain是第一个,即:

command = ['mp3gain', '/r', '/c', self.FileName]

答案 1 :(得分:0)

您可以使用os.system来调用程序。 例如,在您的程序中,您可以使用:

os.system("mp3gain /r /c " + self.FileName)