Чтобы прочитать слово из файла, надо применить 
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 ключа, но надеюсь сейчас уже проще будет разобраться что происходит.