我正在尝试编写一个脚本,我想要它做的一件事是调用 MP3Gain 的命令行版本并将我正在使用的文件传递给 MP3Gain 以标准化音量。这是我的代码:
import subprocess
class normalize():
def __init__(self, file):
self.FileName = file
def work(self):
command = [r"mp3gain.exe", "-r", r"-c ", self.FileName]
subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
if __name__ == "__main__":
test = normalize(r"C:\Users\CPC\Desktop\2013-01-20.mp3")
test.work()
如果我使用相同的代码并打开不同的程序,它工作正常。如果我让程序将“命令”变量发送到文本文件,然后在 cmd 中将文本文件中的内容作为命令输入,它也可以正常工作。因此,python 子进程模块和 MP3Gain 之间似乎存在某种干扰。有人有这方面的经验吗?有没有其他方法可以完成同样的事情?任何帮助,将不胜感激。