如何执行操作系统()有多个参数

2024-10-03 19:31:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用多个参数执行os.system()命令。在

def playmp3(SongName, Freqency):
    os.system("sox -t mp3", SongName, "-t wav - | sudo pifmrds -freq", Freqency, "-audio", SongName)

但我总是犯这样的错误:

^{pr2}$

Tags: 命令参数osdefsudosystemmp3audio
1条回答
网友
1楼 · 发布于 2024-10-03 19:31:35

你不能。您必须自己编写命令行,例如使用format

os.system('sox -t mp3 "{0}" -t wav - | sudo pifmrds -freq "{1}" -audio "{0}"'.format(SongName,Frequency))

注意01符号允许多次使用参数。在

当你不知道你的论点是否包含空格时,用引号来保护你的论点。在

顺便说一句,这确实是一种过时的执行系统调用的方法。这很快,但2subprocess.Popen连接在一起的调用和受控参数传递会更干净,如下所示:

^{pr2}$

相关问题 更多 >