python - 需要在 python 中通过 espeak 和 aplay 命令使用 os.system 中的变量

标签 python raspberry-pi subprocess os.system espeak

我希望我的树莓派能够说出这个打印命令

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/

相关文章:

python - 如何实时查看变量?

python - 如何在 python 中按下键盘来停止秒表?

python - 为什么 binascii.a2b_hex() 返回一个字符串?

android - 通过 Wifi Direct (p2p) 服务将 Raspberry 与 Android 连接

Python 子进程标准输出不捕获输入提示

python - 如何摆脱小部件边框?

linux - Qemu 显示为 ARM (VM) 的黑屏

python - 无法在 OpenCV 上播放 .h264 视频?

python - 从/usr/bin/* 执行命令时,来自 subprocess.run 的 FileNotFoundError - Python

python - 从 Python 中的管道捕获的标准输出被截断