问题描述
这是我的代码:
import pyttsx3
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
print(voices[0].id)
engine.setProperty('voice',voices[0].id)
def speak(audio):
engine.say(audio)
engine.runAndWait()
if __name__=="__main__":
speak("hello world")
注意:我已经安装了pyttsx3模块
错误:
[Running] python -u "f:\jarvis\jarvis.py"
Traceback (most recent call last):
File "f:\jarvis\jarvis.py",line 3,in <module>
voices = engine.getproperty('voices')
AttributeError: 'Engine' object has no attribute 'getproperty'
[Done] exited with code=1 in 2.08 seconds
请帮帮我 该如何解决?
解决方法
Python标识符区分大小写。
您写道:
voices = engine.getProperty('voices')
这很好,并且与the docs完全匹配。
您显示的诊断是针对一些不同的代码的:
voices = engine.getproperty('voices') AttributeError: 'Engine' object has no attribute 'getproperty'
诊断是正确的。
虽然有一个getProperty
属性,
引擎缺少getproperty
。
那是两个不同的标识符。
正确拼写,您的程序会更好地工作。