【发布时间】:2020-06-06 01:25:26
【问题描述】:
#!/usr/bin/env python3
from os import system
def playSong():
message = "it's time to drink water and, take a rest for some minutes."
#filepath = "/home/leader/Downloads/anywhere.mp3"
system("espeak '" + message + "'")
playSong()
在终端中运行此程序时,它会显示此错误。我怎样才能摆脱这个?
【问题讨论】:
-
您将单引号字符串传递给
espeak,但您的单引号字符串在第一个单词中包含撇号,这会关闭单引号。可能有一种方法可以逃避它或使用不同的引号,但我不熟悉 espeak 所以我不知道如何避免这个问题,除非你的字符串中没有撇号。 -
你想让消息被'而不是"引用吗?
-
其实引用不是问题。使用 ' 或 '' 都可以,但仍然无法正常工作。
-
完全不要使用
system()——这非常危险。 -
顺便说一句,哪个版本的 Python?如果它是一个足够新的版本,有
subprocess.run(),那比直接调用Popen()更容易使用。