Запись результата перевода в txt или excel

В файле myfile.txt две строчки:

A blessing in disguise, Better late than never.

Перевод в консоли. Что ни пробовал, выдает ошибки при writting в txt или excel

try:
    with open("myfile.txt", "r") as file:
            s = file.readlines()
    from googletrans import Translator

    translator = Translator()
    result = translator.translate(s, dest='ru', src="en")
    print(result[0].text+ " " + result[1].text)
except FileNotFoundError:
    print("Невозможно открыть файл")
finally:
    print(file.closed)

Решил продолжить:

Читаем из книги excel заносим результат в txt. Одна ошибка

AttributeError: 'list' object has no attribute 'closed'

Если я использую:

finally:
    print(file.closed) 

А так все хорошо.

UPD:

import openpyxl

wb = openpyxl.load_workbook(filename='Python_Youtube.xlsx')
sheet = wb['Sheet1']

# считываем значение определенной ячейки
val = sheet['B1'].value

# считываем заданный диапазон
file = [v[0].value for v in sheet['C1:C5']]
try:
    with open("myfile2.txt", mode="w", encoding="utf-8") as outfl:
        outfl.writelines([str(line) + "\n" for line in file])
except FileNotFoundError:
    print("Невозможно открыть файл")
# finally:
#     print(file.closed)

Ответы (1 шт):

Автор решения: cauf

В вашем коде нет никакой записи результата. В первом блоке кода вы открываете файл в режиме read-only и считываете из него данные. Больше к файлу вы никак не обращаетесь.

Для того, что бы записать данные в файл, нужно иметь примерно вот такой код:

try:
    # открытие файла для чтения
    with open("myfile.txt", mode="r", encoding="utf-8") as file:
            s = file.readlines()

    # перевод
    from googletrans import Translator
    translator = Translator()
    result = translator.translate(s, dest='ru', src="en")

    # вывод в консоль
    print(result[0].text+ " " + result[1].text)

    # запись в файл "out_result.txt"
    with open("out_result.txt", mode="w", encoding="utf-8") as outfl:
        outfl.write("\n".join(result))

except FileNotFoundError:
    print("Невозможно открыть файл")

При этом обратите внимание на то, что в функции open нужно указывать так же аргумент encoding. Я указал распространенную кодировку "utf-8", но если вы работаете под Windows, то возможно у ваших файлов кодировка "cp1251". Если что-то не так будет с кодировками, то в файле с результатами вместо кириллицы вы получите кракозябры.

→ Ссылка