Python
2
Вклад в тег
readlines()
. Print()
не нужен, потому что функция не возвращает ответ, а печатает его сама.with open('1word.txt', 'r') as f:
for line in f.readlines():
ya_dict (line.strip())
strip()
нужен чтобы удалить знаки переноса строки. text = word_tr
бессмысленная строка. Или сразу называйте переменную text
или передавайте в ссылку word_tr
.eval()
не нужен. Он выполняет код, переданный ему в виде строки. Например: eval('print("text")')
text
, как будто 'print("text")'
не строковая переменная, а команда.uri =
лучше написать так:r = requests.post(uri) # делаем запрос к яндексу
data = json.loads(r.text) # конвертируем строку json в словарь
word_list = data["def"][0]["tr"] # получаем список
for word in word_list:
print(word["text"])
for
перебирает все элементы списка и получает из каждого полученного словаря значение с ключем 'text'.
uri
лучше написать так:uri = 'https://dictionary.yandex.net/api/v1/dicservice.json/lookup?key={}&lang={}&text={}'.format(yandexkey, lang, text)
Invalid syntax
.api
ключа, но надеюсь сейчас уже проще будет разобраться что происходит.