Есть файл
horoscop.py
import random
times = ["утром", "днём", "вечером", "ночью", "после обеда", "перед сном"]
advices = ["ожидайте", "предостерегайтесь", "будьте открыты для"]
promises = ["гостей из забытого прошлого", "встреч со старыми знакомыми",
"неожиданного праздника", "приятных перемен"]
def generate_prophecies(total_num=5, num_sentences=3):
prophecies = []
i = 0
while i < total_num:
j = 0
forecast = ""
while j < num_sentences:
t = random.choice(times)
a = random.choice(advices)
p = random.choice(promises)
full_sentence = t.title() + " " + a + " " + p + "."
if j != num_sentences - 1:
full_sentence = full_sentence + " "
forecast = forecast + full_sentence
j = j + 1
prophecies.append(forecast)
i = i + 1
return prophecies
И другой файл создающий страницу index.html
# coding: utf-8
from horoscope import generate_prophecies
from datetime import datetime as dt
def generate_page(head, body):
page = "<html>" + head + body + "</html>"
return page
def generate_head(title):
head = "<meta charset='utf-8'>" + "<title>" + title + "</title>"
return "<head>" + head + "</head>"
def generate_body(header, paragraphs):
body = "<h1>" + header + "</h1>"
i = 0
while i < len(paragraphs):
body = body + "<p>" + paragraphs[i] + "</p>"
i += 1
return "<body>" + body + "</body>"
def save_page(header, title, paragraphs, output="index.html"):
fp = open(output, "w")
today = dt.now().date
page = generate_page(
head=generate_head(title),
body=generate_body(header=header, paragraphs=paragraphs)
)
print(page, file=fp)
fp.close()
today = dt.now().date()
save_page(
title="Гороскоп на сегодня",
header="Что готовит для вас " + str(today) + "день",
paragraphs=generate_prophecies(),
)
И собственно сама index.html
<html><head><meta charset='utf-8'><title>�������� �� �������</title></head><body><h1>��� ������� ��� ��� 2021-10-05����</h1><p>����� ���� ������ ������� ��� �������� �������. ����� �������� ������ �� �������� ��������. ������� ������ ������� ��� ������ �� ������� ���������.</p><p>����� ���� ������ ������� ��� �������� �������. ����� ����������������� �������� �������. ����� ����� ����������������� ������ �� �������� ��������.</p><p>����� �������� ������ �� ������� ���������. ���� ����������������� �������� �������. ����� ����� �������� ������������ ���������.</p><p>���� ����������������� ������ �� ������� ���������. ����� ������ ������� ��� ������ �� �������� ��������. ����� �������� ������ �� �������� ��������.</p><p>����� ����� �������� �������� �������. ����� �������� ������ �� �������� ��������. ����� �������� �������� �������.</p></body></html>
Почему кодировка utf-8 не применяется? Выводит на страницы эти знаки вопроса