我希望我的树莓派能够说出这个打印命令
print label + " is " + spos + " and the distance is " + str(distance) + "cm"
其中包含三个变量。 这是我在 shell 中使用的命令,我需要在 python 中使用
$espeak -s110 "label + " is " + spos + " and the distance is " + str(distance) + "cm"" --stdout | aplay -D sysdefault:CARD=2
我已经用 os.system 尝试过,因为我不熟悉 subprocess
命令。
os.system('espeak -s110 "'label' + is + 'spos' + and the distance is + 'str(distance)' + cm" --stdout | aplay -D sysdefault:CARD=2')
我收到无效的语法错误。我已经尝试了它的每个版本,但无法使其工作。
最佳答案
这应该会给你你正在寻找的东西:
cmd = 'espeak -s110 "{0} is {1} and the distance is {2} cm" --stdout | aplay -D sysdefault:CARD=2'.format(label, spos, str(distance))
os.system(cmd)
关于python - 需要在 python 中通过 espeak 和 aplay 命令使用 os.system 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47751919/