• 整理指定文件夹下的所有文件,以类树状图显示并生成对应超链接


    最近在整理家里学习资料的时候,由于年代久远,找不到我想要找的文件,windows文件搜索速度感觉太慢。于是想要生成一份类似文件索引的东西来显示所有资料,让我可以快速的找到需要的资料路径

    直接上代码

    import os 
    import datetime
      
    def generate_folder_tree(folder_path, indent=0):  
        """  
        生成文件夹树状图  
        :param folder_path: 文件夹路径  
        :param indent: 缩进级别,用于显示树状图的层级关系  
        """ 
    
        for file_name in os.listdir(folder_path):
            link_html = "" 
            #产生一个绝对路径,以便后面用作超链接路径 
            file_path = os.path.join(folder_path, file_name)
            folder_link = file_path  
            folder_link = folder_link.replace("\\", "/")
            x = ' ' * indent + '- ' + file_name
            # 
      
    可以保留HTML原始文本中的空格和换行符
    #
    换行符,也可以用 代替
    # {folder_link} 超链接路径 # {x} 写入 html 中的 字符串 link_html = f'
    {folder_link}">{x}
    '
    with open("myFolderPath.html", "a") as file: file.write(link_html) if os.path.isdir(file_path): generate_folder_tree(file_path, indent=indent+4) # 调用函数生成文件夹树状图 now = datetime.datetime.now() with open("myFolderPath.html", "w") as file: file.write(str(now)) generate_folder_tree("C:/test")
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    如上,此代码可以生成一份叫做 myFolderPath.html的 html文件,此文件中将显示 C:/test里所有的文件夹和文件,以类似树状图的方式显示,生成文件后,以浏览器打开 html文件,文件内显示如下:
    在这里插入图片描述在这个图中,所有文件均可打开,浏览器如果不能跳转,就使用右键打开新的页面,即可查看内容。假如是文件夹,即可显示文件夹内的内容,假如是文件,则可直接打开。
    但是打开文件夹路径后,点击返回上层会把其他与C:/test同级文件夹或上级文件夹一同显示出来,但还不知道怎么解决。我的初衷是让他只显示C:/test里面的所有文件即文件夹…不过暂且也能用了。

  • 相关阅读:
    Https为什么是安全的
    MetaTown:一个可以自己构建数字资产的平台
    节假日和汉语拼音接口
    【CVE-2023-35843】NocoDB 任意文件读取漏洞
    DITA-OT 4.0新特性 - PDF themes,定制PDF样式的新方法
    type.Dict 和 Dict 之间的区别及其在 Python 中的用途
    GBase 8c审计日志维护(一)
    Android小程序 java 产品合同管理系统python nodejs php客户资源管理系统
    使用Plotly模拟远古博弈游戏_掷骰子
    2022年Java面试题最新整理,附白话答案
  • 原文地址:https://blog.csdn.net/weixin_44517278/article/details/134037833