Я создал скрипт на Python для случайного создания предложений, используя данные из Princeton English Wordnet, следуя диаграммам, предоставленным Gödel, Escher, Bach .При вызове python GEB.py
создается список бессмысленных предложений на английском языке, таких как:
возрождающаяся неэстетическая стоимость.бриофитный ноготь.Сильный сороковой персик.Звездная шкура.мука, которая переводит платье, которое берет удар через яблоню, на которую наложен новый запрос.лобелиевый грузовик рядом с тунцом.
И сохраняет их в gibberish.txt.Этот скрипт отлично работает.
Другой скрипт (translator.py
) принимает gibberish.txt и через Python-модуль py-googletrans пытается перевести эти случайные предложения на португальский:
from googletrans import Translator
import json
tradutor = Translator()
with open('data.json') as dataFile:
data = json.load(dataFile)
def buscaLocal(keyword):
if keyword in data:
print(keyword + data[keyword])
else:
buscaAPI(keyword)
def buscaAPI(keyword):
result = tradutor.translate(keyword, dest="pt")
data.update({keyword: result.text})
with open('data.json', 'w') as fp:
json.dump(data, fp)
print(keyword + result.text)
keyword = open('/home/user/gibberish.txt', 'r').readline()
buscaLocal(keyword)
В настоящее времявторой скрипт выводит только перевод первого предложения в gibberish.txt.Что-то вроде:
возрождающихся эстетических затрат.aumento de custos inestético.
Я пытался использовать readlines()
вместо readline()
, но получаю следующую ошибку:
Traceback (most recent call last):
File "main.py", line 28, in <module>
buscaLocal(keyword)
File "main.py", line 11, in buscaLocal
if keyword in data:
TypeError: unhashable type: 'list'
Я читал похожие вопросы об этой ошибкездесь, но мне не ясно, что я должен использовать, чтобы прочитать весь список предложений, содержащихся в gibberish.txt (новые предложения начинаются с новой строки).
Как я могу прочитать весь списокпредложений, содержащихся в gibberish.txt?Как мне адаптировать код в translator.py
, чтобы добиться этого?Прошу прощения, если вопрос немного запутан, я могу отредактировать, если необходимо, я новичок в Python, и я был бы признателен, если бы кто-нибудь мог мне помочь.