好久没写文章了。
有一个需求: 我的一个目录下有很多的.html文件, 每个html会包含一些image ,但都在各自的目录中。 .html特别多,有好几百个,我需要一个index.hmtl把这些html全部索引起来,使得我一个点击,就可以打开这个html。
这些html分布在各自的文件夹中,没有index.html在用的时候有些痛苦。
目录大概如下所示:
│ ├── 2023-10-16-巴以冲突,最大受益者竟然是我们?
│ │ ├── 巴以冲突,最大受益者竟然是我们?.html
│ │ ├── 巴以冲突,最大受益者竟然是我们?.md
│ │ └── img
│ │ ├── 0.png
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.png
│ │ ├── 4.png
│ │ ├── 5.png
│ │ ├── 6.png
│ │ └── 7.jpeg
│ ├── 2023-10-18-一带一路,新世界重构的开始
│ │ ├── 一带一路,新世界重构的开始.html
│ │ └── 一带一路,新世界重构的开始.md
我需要的index.html 大概是这个样子
<A href="./dir1/name1.html" > name1.html </A>
<A href="./dir2/name2.html" > name2.html </A>
所以我需要python。
因为c++做这个太奢侈了。
python里面遍历目录当然是用os.walk啦。
具体代码如下所示,把每一个.html给找出来,然后
做个链接,保存到index.html中。
import os
file1= open(r"index.html", "w")
for root,dir,files in os.walk(".") :
for filename in files:
if filename.endswith(".html"):
print(filename)
filepath=os.path.join(root,filename)
print(filepath)
href=filepath
a=filename
text='<A href="%s" > %s </A> <br>\n ' %(href, a)
file1.write(text)
嗯,挺简单的。
但是还是需要对os.walk()有所了解才可以。
看一下生成的结果:
<A href="./夜寒暄/2023-02-07-ChatGPT到底厉害在哪?你该怎么办!/ChatGPT到底厉害在哪?你该怎么办!.html" > ChatGPT到底厉害在哪?你该怎么办!.html </A> <br>
<A href="./夜寒暄/2022-08-01-中金公司交易员和价值投资的核心底层逻辑/中金公司交易员和价值投资的核心底层逻辑.html" > 中金公司交易员和价值投资的核心底层逻辑.html </A> <br>
<A href="./夜寒暄/2022-10-30-俄罗斯假如真的攻击卫星,会爆发星球大战吗?/俄罗斯假如真的攻击卫星,会爆发星球大战吗?.html" > 俄罗斯假如真的攻击卫星,会爆发星球大战吗?.html </A> <br>
页面效果:
我已经退化到写python啦。
haha.