Ответ 1
Я думаю, если я понимаю вас правильно, вы можете увидеть здесь.
Я ищу способ создания html файлов динамически в python. Я пишу галерею script, которая итерации по каталогам, сбор метаданных файлов. Я намеревался использовать эти данные для автоматического создания галереи изображений на основе html. Что-то очень простое, просто таблица картин.
Я действительно не думаю, что писать в файл вручную - лучший способ, и код может быть очень длинным. Так есть ли лучший способ сделать это, возможно, html?
Я думаю, если я понимаю вас правильно, вы можете увидеть здесь.
Dominate - это библиотека Python для создания HTML-документов и фрагментов непосредственно в коде без использования шаблонов. Вы можете создать простую галерею изображений с чем-то вроде этого:
import glob
from dominate import document
from dominate.tags import *
photos = glob.glob('photos/*.jpg')
with document(title='Photos') as doc:
h1('Photos')
for path in photos:
div(img(src=path), _class='photo')
with open('gallery.html', 'w') as f:
f.write(doc.render())
Вывод:
<!DOCTYPE html>
<html>
<head>
<title>Photos</title>
</head>
<body>
<h1>Photos</h1>
<div class="photo">
<img src="photos/IMG_5115.jpg">
</div>
<div class="photo">
<img src="photos/IMG_5117.jpg">
</div>
</body>
</html>
Отказ от ответственности: я являюсь автором доминирующего
Шаблоны, как было предложено в других ответах, вероятно, лучший ответ (я написал ранний, причудливый шаблонный модуль под названием yaptu, но современный зрелые, как предложено в других ответах, вероятно, сделают вас счастливее; -).
Однако, хотя я долгое время использовал его, я с любовью вспоминаю подход Quixote, который примерно равен "обратная шаблонизация" (встраивание HTML-генерации в Python, а не наоборот, как это делает обычный шаблон). Может быть, вам стоит взглянуть и посмотреть, понравится ли вам это лучше, -).