Запись нескольких переменных print в файл
У меня есть вывод скрипта в таком виде, все переменные типа str (там ещё надо разбираться с кодировкой, но это другой вопрос). Как мне записать такую конструкцию в файл? Пятый день пытаюсь найти примеры, прочитал различные материалы но так ничего не получилось, максимум могу записать просто одну переменную в файл, пример ниже.
print('Слово:', title_html, '\n')
print('Британская транскрипция:', transcription_html, '\n')
print('Значения слова:', description_html, '\n')
print('Фразовые глаголы:\n', phrase_verbs, '\n')
print('Однокоренные слова:\n', my_cognate_words, '\n')
print('Словосочетания:\n', phrase_html, '\n')
print('Примеры с переводом:\n', phrase_examles, '\n')
# ищем тег p с классом text
phrase_examles_en = soup.findAll("p", {'class': 'text'})
for element in phrase_examles_en:
print(element.get_text())
Код для записи одной переменной у меня такой
file = open(str(name_url) + ".txt", "w")
file.write(title_html)
file.close()
Ответы (2 шт):
Автор решения: Kers
→ Ссылка
Соберите в список переменные и запишите его циклом.
l = [title_html, transcription_html, description_html] # и тд
with open("file.txt", "w") as f:
for i in l:
f.write(i)
Автор решения: alex
→ Ссылка
если со скриптом ничего делать не хочется, то перенаправить вывод в файл
$ python main.py > out.log
а можно перенаправить вывод принтов в файл
output = open("print", "a+")
a = "There"
print("Hello", a, file=output)
output.close()