用python为目录下的文件生成索引

好久没写文章了。

有一个需求: 我的一个目录下有很多的.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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路边闲人2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值