Объединение головы, тела и нижнего колонтитула в HTML (или с CSS?) - PullRequest
0 голосов
/ 20 января 2020

У меня есть два отдельных файла с именами head.html и footer.html, каждый из которых имеет несколько параметров форматирования. В сценарии python я обрабатываю некоторый текст для body:

sometext=inspect.cleandoc(f'''
  <body>
  This is some text.
  </body>
''')
Html_file= open('path/to/my/output.html',"w")
Html_file.write(sometext)
Html_file.close()

Как мне:

  1. Включить head.html и footer.html в мой output.html в python, с телом посередине? Я думал, возможно, я смогу открыть head.html> запись в output.html, открыть этот файл с помощью open( ... , 'a')> написать нижний колонтитул. Но, может быть, есть лучший способ?
  2. Я немного озадачен тем, как использовать CSS вместе с html и моим текстом, сгенерированным в python. Я понимаю, как написать каждый из них, но не совсем уверен, как заставить их работать вместе.

Моя цель - использовать head.html, body, footer.html в одном html файл, а затем преобразовать его в PDF, используя weasyprint.

1 Ответ

1 голос
/ 20 января 2020

Этот скрипт должен делать то, что вы описываете:

# open output file
Html_file= open('path/to/my/output.html',"w")

# write from header file to output file
with open('path/to/my/header.html') as header_file:
    for line in header_file:
        Html_file.write(line)

# write body
sometext=inspect.cleandoc(f'''
  <body>
  This is some text.
  </body>
''')
Html_file.write(sometext)

# write from footer file to output file
with open('path/to/my/footer.html') as footer_file:
    for line in footer_file:
        Html_file.write(line)

# close output file
Html_file.close()
...