当前位置: 首页 > news >正文

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

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

直接上代码

import os 
import datetimedef 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# <pre>  </pre>   可以保留HTML原始文本中的空格和换行符# <br>  换行符,也可以用 </n>代替# {folder_link}  超链接路径# {x}  写入 html 中的 字符串link_html = f'<pre><a href="{folder_link}">{x}</a></n></pre>'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")

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

http://www.lryc.cn/news/207892.html

相关文章:

  • 解密代理技术:保障隐私与网络安全
  • k8s中,“deployment”充当什么角色?有什么功能?
  • 深度学习:激活函数曲线总结
  • Elasticsearch-06-Elasticsearch Java API Client
  • 计算机网络第3章-运输层(2)
  • 【微信小程序】实现投票功能(附源码)
  • Pytorch入门实例的分解写法
  • Google单元测试sample分析(一)
  • requests 实践
  • UI设计公司成长日记2:修身及持之以恒不断学习是要务
  • 辅助驾驶功能开发-功能规范篇(23)-2-Mobileye NOP功能规范
  • React中如何提高组件的渲染效率
  • springboot+mybatis3.5.2动态查询某一字段在某一段时间内的统计信息(折线图)
  • 关于本地项目上传到gitee的详细流程
  • MarkDown详细入门笔记
  • 算法——贪心算法
  • 102.linux5.15.198 编译 firefly-rk3399(1)
  • 易点易动固定资产管理系统:多种盘点方式助力年终固定资产盘点
  • C# Winform编程(10)Chart图表控件
  • 群狼调研(长沙产品概念测试)|如何做新品上市满意度调研
  • Lua与C++交互
  • Ubuntu安装pyenv,配置虚拟环境
  • 【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
  • 什么是React中的高阶组件(Higher Order Component,HOC)?它的作用是什么?
  • NEFU离散数学实验3-递推方程
  • 如何为你的地图数据设置地图样式?
  • 解决visual studio Just-In-Time Debugger调试
  • Uservue 中 keep-alive 组件的作用
  • gitlab查看、修改用户和邮箱,gitlab生成密钥
  • python操作MySQL、SQL注入问题、视图、触发器、事务、存储过程、函数、流程控制、索引(重点)