You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python为静态网站生成文件夹嵌套索引页的问题求助

使用Python为静态网站生成文件夹嵌套索引页的问题求助

各位大佬好!我最近在折腾一个小工具:想用Python给我的静态网站所有文件夹和子文件夹自动生成对应的index.html索引页,里面列出当前目录下的所有文件和子文件夹,点击子文件夹就能跳转到它的专属索引页。但目前我的实现方式特别笨拙,每个文件夹都要手动放index.py脚本,还要硬编码路径才能避免FileNotFoundError,自己都知道写得一团糟,想请大家帮忙优化,同时也指点我该补哪些Python基础!

先给大家看我现在的混乱代码:

from pathlib import Path

def make_index_html(path):
    path = Path(path)
    # 这里我硬编码了子文件夹路径,太蠢了
    path = path / 'FOLDER A'
    with open(path / 'index.html', 'w') as out:
        for file in sorted(path.iterdir()):
            out.write(f'<a href="{file.name}">{file.name}</a>\n')

if __name__ == '__main__':
    make_index_html('.')
    # 还要手动调用子文件夹里的脚本,完全不自动化
    with open("./FOLDER A/SUBFOLDER B/index.py") as file:
        exec(file.read())

现在我只能靠每个文件夹里的index.py来触发生成,而我真正想要的是自动递归遍历所有嵌套文件夹,生成层级化的索引页,效果应该是这样的:

HOME INDEX
FOLDER A [click]
→ FOLDER A INDEX
file C
SUBFOLDER D [click]
→ SUBFOLDER D INDEX
file g
file h
index.py

我知道肯定有更简洁的方法,不用手动给每个文件夹加脚本。因为我自己对Python的路径处理、递归这些核心概念掌握得不好,所以写得乱七八糟。想请大家帮我重构这段代码,同时也告诉我应该重点学习哪些Python知识点(比如pathlib的高级用法?递归函数?),帮我补补基础!

非常感谢大家的帮忙!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 13:39:33