【发布时间】:2019-01-14 21:12:57
【问题描述】:
我正在编写一个使用 SoX 将多个音频文件合并在一起的脚本。
此命令在终端中有效
sox &(ls *.mp3) out.mp3
但如果我尝试通过调用 subprocess.run() 在 python 脚本中使用它,它不会
subprocess.run(['sox', '$(ls *.mp3)', 'out.mp3'])
> sox FAIL formats: can't open input file `$(ls *.mp3)': No such file or
> directory
我的图像是因为子shell操作,但我不知道如何正确传递它。
正如其他一些帖子所建议的那样,我也尝试过传递参数shell=True,但随后它说
> sox FAIL sox: Not enough input filenames specified
我在同一个工作目录中,我也尝试提供完整路径,但也不起作用。
我可以编写一个 bash 脚本并调用它,但我想知道如何使用 Python 处理这种情况。
【问题讨论】:
标签: python python-3.x bash subprocess