小编典典

从python内部执行命令行程序

python

我正在构建一个将要处理(填充,混合,合并等)声音文件的Web应用程序,我发现sox完全可以满足我的要求。Sox是linux命令行程序,让python网络应用根据每个请求在服务器上启动新的sox进程时,我感到有些不舒服。

例:

import os
os.system('sox input.wav -b 24 output.aiff rate -v -L -b 90 48k')

整个设置对我来说似乎有点不稳定。

所以我的问题是,从python(或任何脚本语言)Web应用程序中运行命令行程序的最佳实践是什么?

为了避开整个请求响应周期,消息队列将是一回事。但是还有其他方法可以使这些东西变得更优雅吗?


阅读 224

收藏
2021-01-20

共1个答案

小编典典

subprocess模块是运行Python中其他程序的首选方式-
比Python更灵活和更易于使用os.system

import subprocess
#subprocess.check_output(['ls', '-l'])  # All that is technically needed...
print(subprocess.check_output(['ls', '-l']))
2021-01-20