Перед тем, как начать -
Код:
from googletrans import Translator
import random
translator = Translator()
languages = ['af', 'sq', 'am', 'ar', 'hy', 'az', 'eu', 'be', 'bn', 'bs', 'bg', 'ca', 'ceb', 'zh-CN', 'zh-TW', 'co',
'hr', 'cs', 'da', 'nl', 'eo', 'et', 'fi', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'gu', 'ht', 'ha',
'haw', 'hi', 'hmn', 'hu', 'is', 'ig', 'id', 'ga', 'it', 'ja', 'jw', 'kn', 'kk', 'km', 'ko', 'ku',
'ky', 'lo', 'la', 'lv', 'lt', 'lb', 'mk', 'mg', 'ms', 'ml', 'mt', 'mi', 'mr', 'mn', 'my', 'ne', 'no', 'ny',
'ps', 'fa', 'pl', 'pt', 'pa', 'ro', 'ru', 'sm', 'gd', 'sr', 'st', 'sn', 'sd', 'si', 'sk', 'sl', 'so', 'es',
'su', 'sw', 'sv', 'tl', 'tg', 'ta', 'te', 'th', 'tr', 'uk', 'ur', 'uz', 'vi', 'cy', 'xh', 'yi', 'yo', 'zu']
text = '''
hello
'''
for i in random.sample(languages, 102)[:30]:
text = translator.translate(text, dest=i).text
print(translator.translate(text, dest='en').text)
Ошибка:
Traceback (most recent call last):
File "C:/Users/tudor/PycharmProjects/Auto Translator/main.py", line 16, in <module>
text = translator.translate(text, dest=i).text
File "C:\Users\tudor\PycharmProjects\Auto translator\venv\lib\site-packages\googletrans\client.py", line 172, in translate
data = self._translate(text, dest, src)
File "C:\Users\tudor\PycharmProjects\Auto translator\venv\lib\site-packages\googletrans\client.py", line 81, in _translate
data = utils.format_json(r.text)
File "C:\Users\tudor\PycharmProjects\Auto translator\venv\lib\site-packages\googletrans\utils.py", line 62, in format_json
converted = legacy_format_json(original)
File "C:\Users\tudor\PycharmProjects\Auto translator\venv\lib\site-packages\googletrans\utils.py", line 54, in legacy_format_json
converted = json.loads(text)
File "C:\Users\tudor\AppData\Local\Programs\Python\Python37\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "C:\Users\tudor\AppData\Local\Programs\Python\Python37\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\tudor\AppData\Local\Programs\Python\Python37\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Я пытаюсь добиться автоматического переводчика, который поставляется сввод, затем он переводится случайным образом около 30 раз.
Код работает нормально, ошибок нет, и работает нормально, но время от времени вылетает.Из того, что я разработал, если вы добавите эмодзи или некоторые символы (сложные восточные символы), сгенерированные переводчиком, к тексту, который нужно перевести, он вылетает и выдает ошибку, которая почти идентична (я пойму, почемуЯ не могу воспроизвести это) к выше.
В большинстве случаев, когда происходит сбой программы, я могу запустить ее снова нормально, и она будет работать нормально с несовместимыми ошибками, но иногда код вообще ничего не переводит, и он мгновенно падает, и яне могу перезапустить программу снова, даже если я запускаю простой код вроде:
from googletrans import Translator
translator = Translator()
print(translator.translate('buna', dest='en').text)
>>>should produce `hello`
Он воспроизводит ту же ошибку.Если я запускаю программу без библиотеки, она работает нормально.Если я удаляю всю папку (я использую pycharm, если это какая-то помощь, она создает папку venv, содержащую среду, которую я использую для проекта), и я снова запускаю программу, она работает нормально, пока она снова не падает.
Что я хочу решить:
- Как остановить сбой программы
- Как я могу включить эмодзи
Спасибо заваша помощь.