在Python中创建HTML
我想找一种方法,可以在Python中动态创建HTML文件。我正在写一个画廊脚本,它会遍历文件夹,收集文件的元数据。然后我打算用这些数据自动生成一个基于HTML的图片画廊。其实就是一个很简单的图片表格。
我觉得手动写入文件不是最好的方法,而且代码可能会很长。那么有没有更好的方法,可能是专门针对HTML的?
8 个回答
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中的模板”的内容。