Как исправить Visual Studio «AttributeError: объект ‘Engine’ не имеет атрибута ‘getproperty'»

#python #python-3.x #module #text-to-speech #pyttsx

#python #python-3.x #модуль #преобразование текста в речь #pyttsx

Вопрос:

Это мой код:

 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:jarvisjarvis.py"
Traceback (most recent call last):
  File "f:jarvisjarvis.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
  

Помогите мне, пожалуйста
Как это исправить?

Комментарии:

1. Вы имели в виду voices = engine.getProperty('voices') ? Опубликованный вами код отлично работает для меня, но ваша полная обратная трассировка ошибок (молодец, что опубликовал ее) показывает какой-то другой код, который вы на самом деле выполняете. Попробуйте скопировать свой собственный код из вашего вопроса и запустить это.

2. Я скопировал этот код из своего кода и вставил его в этот вопрос. Я дважды проверял каждый шаг, но эта ошибка все еще появляется.

Ответ №1:

Идентификаторы Python чувствительны к регистру.

Вы написали:

 voices = engine.getProperty('voices')
  

это нормально и точно соответствует документам.

Показанная вами диагностика предназначена для какого-то другого кода:

 voices = engine.getproperty('voices')
AttributeError: 'Engine' object has no attribute 'getproperty'
  

Диагностика верна.
Хотя есть getProperty атрибут,
движку не хватает getproperty .
Это два разных идентификатора.
Напишите это правильно, и ваша программа будет работать лучше.

Комментарии:

1. Я написал это точно так же, как в этом вопросе, но все равно возникает эта ошибка. Я даже дважды проверил это. Я написал это по буквам getProperty , но все равно ошибка отображается как 'Engine' object has no attribute 'getproperty'

2. Если вы видите эту ошибку, то у вас, должно быть где-то неправильное написание.

3. Я получаю точно такую же ошибку. <br> Файл «c:UsersSIDDHESHProjectsfile_reader.py «, строка 11, в speak engine.runandwait() Ошибка атрибута: объект ‘Engine’ не имеет атрибута ‘runandwait’