Я делаю сценарий, используя SoX для объединения нескольких аудиофайлов вместе.
Эта команда работает в терминале
sox &(ls *.mp3) out.mp3
но если я попытаюсь использовать его внутри скрипта Python, вызвав subprocess.run (), это не
subprocess.run(['sox', '$(ls *.mp3)', 'out.mp3'])
> sox FAIL formats: can't open input file `$(ls *.mp3)': No such file or
> directory
Я представляю, что это из-за операции subshell, но я не знаю, как правильно ее передать.
Я также попытался, как и в каком-то другом посте, передать аргумент shell=True
, но затем он говорит
> sox FAIL sox: Not enough input filenames specified
Я нахожусь в том же рабочем каталоге, и я также попытался указать полный путь, но он тоже не работает.
Я мог бы просто написать сценарий bash и вызвать его, но я хотел бы знать, как справиться в этом сценарии с Python.