如何修复Visual Studio“ AttributeError:'Engine'对象没有属性'getproperty'”

问题描述

这是我的代码

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。 那是两个不同的标识符。 正确拼写,您的程序会更好地工作。