Задать вопрос
rt2233
@rt2233

Что делать при ошибке при переводе через googletrans?

Код:
from googletrans import Translator

translator = Translator()

def transl(_text_, lang):
	a = translator.translate(_text_, dest=lang)
	return a

d = input('Введите текст для перевода')
l = 'en'

result = transl(d, l)


Выводит ошибку:
Traceback (most recent call last):
  File "C:\Users\Admin\Desktop\gg.py", line 12, in <module>
    result = transl(d, l)
  File "C:\Users\Admin\Desktop\gg.py", line 6, in transl
    a = translator.translate(_text_, dest=lang)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\googletrans\client.py", line 182, in translate
    data = self._translate(text, dest, src, kwargs)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\googletrans\client.py", line 78, in _translate
    token = self.token_acquirer.do(text)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\googletrans\gtoken.py", line 194, in do
    self._update()
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\googletrans\gtoken.py", line 62, in _update
    code = self.RE_TKK.search(r.text).group(1).replace('var ', '')
AttributeError: 'NoneType' object has no attribute 'group'


В чём проблема, помогите.
  • Вопрос задан
  • 1356 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
snaiper04ek
@snaiper04ek
Не стреляйте в эникея, он админит как умеет
AttributeError: 'NoneType' object has no attribute 'group'
Интерпретатор пытается к NoneType применить метод group(), у NoneType нет такого метода, ошибка в этой строке:
code = self.RE_TKK.search(r.text).group(1).replace('var ', '')
.group применяется к self.RE_TKK.search(r.text), данными тут является r.text
если проследить выше, получается что текст был получен сначала из self.token_acquirer.do(text), сюда попал из self._translate(text, dest, src, kwargs), куда был отправлен из translator.translate(_text_, dest=lang), куда был засунут из transl(d, l).

Судя по тому, что написано в выложенном тобой логе, ошибка возникает из-за не корректного d в transl(d, l)
Видно, что d у тебя выходит из input с клавиатуры. Инпут из клавы это строка по умолчанию, но никак не NoneType.
варианты такие:у тебя каким-то образом из input приходит не строка а nonetype, либо где-то в процессе твоя строка превращается в NoneType.

первое - замени input на любой string, и посмотри, будет ли работать, например: d = 'bridge'

з.ы. за такой нейминг тебя по рукам будут бить палкой, никому не интересны эти d, l, s, mm, aa, aaaa. Когда разберёшься с проблемой, переименуй переменные в человекочитаемые, приучайся сразу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы