在Python中创建HTML

64 投票
8 回答
108729 浏览
提问于 2025-04-15 19:30

我想找一种方法,可以在Python中动态创建HTML文件。我正在写一个画廊脚本,它会遍历文件夹,收集文件的元数据。然后我打算用这些数据自动生成一个基于HTML的图片画廊。其实就是一个很简单的图片表格。

我觉得手动写入文件不是最好的方法,而且代码可能会很长。那么有没有更好的方法,可能是专门针对HTML的?

8 个回答

15

可以使用像 GenshiJinja2 这样的模板引擎。

91

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>

免责声明:我是dominate的作者

17

我觉得,如果我理解得没错的话,你可以在这里找到关于“Python中的模板”的内容

撰写回答