Python amixer:命令无效

Python amixer:命令无效,python,raspberry-pi,amixer,Python,Raspberry Pi,Amixer,我正在尝试使用以下小代码段更改RaspberryPi的音量: import os def setVolume(vol,prefix): cmd = "amixer -q -M set PCM " + vol + "%" print(prefix+"Changing volume to " + vol + "%") print(prefix+str(os.system(cmd))) 我在两个不同的python脚本中使用这个函数,但它只在其中一个脚本中起作用。(此函数仅

我正在尝试使用以下小代码段更改RaspberryPi的音量:

import os

def setVolume(vol,prefix):
    cmd = "amixer -q -M set PCM " + vol + "%"
    print(prefix+"Changing volume to " + vol + "%")
    print(prefix+str(os.system(cmd)))

我在两个不同的python脚本中使用这个函数,但它只在其中一个脚本中起作用。(此函数仅用于测试,请忽略前缀和内容)。 它仅在其中一个系统中起作用,并给出错误消息: amixer:无效的命令!
(Python 2.7.13)

这对您来说应该很容易缩小范围,因为问题最终与Python无关。python代码只是构造一个命令字符串,然后由操作系统执行

首先,我建议打印或记录您正在执行的完整命令,以便您知道正在进行的系统调用。您的问题很可能与运行命令时生效的当前工作目录有关。因此,在调用实际cmd之前,我会调用
os.system(“pwd”
)。这将显示运行命令时当前的工作目录。下面是修改后的代码版本,我建议您运行该版本进行故障排除:

def setVolume(vol,prefix):
    cmd = "amixer -q -M set PCM " + vol + "%"
    print(prefix+"Changing volume to " + vol + "%")
    os.system("cmd")
    print("Executing command: >" + cmd + "<")
    print(prefix+str(os.system(cmd)))
def设置卷(卷,前缀):
cmd=“amixer-q-M设置PCM”+vol+“%”
打印(前缀+“将卷更改为”+vol+“%”)
操作系统(“cmd”)

print(“Executing command:>”+cmd+“您能提供python脚本的更多上下文和代码吗?错误消息是字面上的
invalid command
,还是类似于
command not found
?它只是“amixer:invalid command!”