Я пытаюсь написать сценарий, и одна из вещей, которую я хочу сделать, это вызвать версию командной строки MP3Gain и передать ее файлу, с которым я работаю, для MP3Gain для нормализации тома. Вот мой код:python subprocess 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()
Если я использую этот же код и открываю другую программу, он отлично работает. Если у меня есть программа, отправьте переменную «command» в текстовый файл, а затем введите то, что находится в текстовом файле в качестве команды в cmd, она также отлично работает. Таким образом, похоже, что существует некоторая помеха между модулем подпроцесса python и MP3Gain. Есть ли у кого-нибудь опыт? Есть ли другой способ сделать то же самое? Любая помощь будет оценена по достоинству.
Кто-нибудь есть какие-нибудь идеи? – user1432738
Почему 'shell = True'? – glglgl