Python/HTML - 将多个HTML合并为一个

1 投票
1 回答
12606 浏览
提问于 2025-04-17 03:12

我写了一个Python脚本,可以把文本文件转换成HTML文件。但是如果不能把这些文件放在一起,那就没什么用处了。我想做的是把所有的报告展示在网站上(服务器的部分我不管)。现在我可以把每个文件转换成HTML,但我突然意识到这是一大堆文件。那我该怎么把它们合并在一起呢?

我在想怎么把它们放在一起,比如说:
假设这是主页:

日期:
- 报告 1
- 报告 2
- 报告 3
...

像这样的超链接(这里的链接都是假的,只是给你展示我在想什么)……用户可以点击这些链接查看报告。这样比到处都是HTML文件要有条理多了——这只是我随便想想。
但问题是,我该怎么自动把所有的HTML报告合并在某个日期字段下呢?
有没有什么指南可以参考?我完全迷茫了,不知道从哪里开始。

1 个回答

6

在Python中创建一个包含元组的列表。然后对这个列表进行原地排序。接着遍历这个列表,生成你的主页HTML。下面是一个示例。你需要为每个报告填写网址和日期(可以是日期对象,也可以是字符串,比如:'09-12-2011')

report_tuples = [
    ('http://www.myreport.com/report1', report1_date_object_or_string),
    ('http://www.myreport.com/report2', report2_date_object_or_string),
    ('http://www.myreport.com/report3', report3_date_object_or_string),
]
sorted(report_tuples, key=lambda reports: reports[1])   # sort by date
html = '<html><body>' #add anything else in here or even better 
                      #use a template that you read and complement
lastDate = None
for r in report_tuples:
    if not lastDate or not lastDate == r[1]:
        html += '<h3>%s</h3>' % (str(r[1]))
    html += '<a href="%s">Your Report Title</a>' % (r[0])

return html #or even better, write it to the disk.

这里有一些可能对你有帮助的网址:

如何原地排序一个列表

Python中的数据结构概述

撰写回答