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

目录树

代码

import os
import argparsedef get_directory_tree(root_dir, show_hidden=False):"""递归获取目录树结构参数:root_dir: 根目录路径show_hidden: 是否显示隐藏目录(以.开头的目录)返回:目录树结构的嵌套字典"""# 检查目录是否存在if not os.path.isdir(root_dir):raise ValueError(f"目录不存在: {root_dir}")tree = {"name": os.path.basename(root_dir), "children": []}try:# 获取目录下的所有条目entries = os.listdir(root_dir)for entry in entries:entry_path = os.path.join(root_dir, entry)# 跳过文件,只处理目录if not os.path.isdir(entry_path):continue# 如果不显示隐藏目录,且目录以.开头,则跳过if not show_hidden and entry.startswith('.'):continue# 递归处理子目录tree["children"].append(get_directory_tree(entry_path, show_hidden))except PermissionError:# 没有权限访问的目录,标记为[权限不足]tree["name"] += " [权限不足]"except Exception as e:# 其他错误tree["name"] += f" [错误: {str(e)}]"return treedef print_tree(tree, indent="", last=True):"""打印目录树结构参数:tree: 由get_directory_tree返回的目录树字典indent: 缩进字符串last: 是否为最后一个子节点"""# 确定当前行的前缀prefix = "└── " if last else "├── "print(indent + prefix + tree["name"])# 计算下一级的缩进if last:new_indent = indent + "    "else:new_indent = indent + "│   "# 递归打印子目录children = tree["children"]for i, child in enumerate(children):print_tree(child, new_indent, i == len(children) - 1)def main():# 解析命令行参数parser = argparse.ArgumentParser(description='显示目录的树形结构')parser.add_argument('directory', nargs='?', default=fr'H:\2025年10月13日——数据集处理', help='要显示的目录路径(默认当前目录)')parser.add_argument('-a', '--all', action='store_true', help='显示隐藏目录')args = parser.parse_args()try:# 获取绝对路径root_dir = os.path.abspath(args.directory)print(f"目录树结构: {root_dir}")print("-" * (len(root_dir) + 5))# 生成并打印目录树tree = get_directory_tree(root_dir, args.all)print_tree(tree)except Exception as e:print(f"错误: {e}")if __name__ == "__main__":main()print(f"finished")

 

http://www.gsyq.cn/news/62600.html

相关文章:

  • 2025年自动化立体库厂家推荐榜单最新发布:青岛茂源智能装备有限公司成为优选制造商
  • 2025年耐老化门窗尼龙隔热条厂家最新热销排行
  • 2025年覆盖面广泛全屋定制书柜/全屋定制衣帽间高评价厂家推荐榜
  • 2025年口碑好的低钠铝溶胶/铝溶胶厂家最新权威实力榜
  • 2025年耐用的三维弯管加工品牌厂家排行榜
  • 2025年中国十大益生菌靠谱厂家推荐:国内大型的益生菌工厂有
  • 2025年质量好的空气悬浮离心鼓风机/磁悬浮鼓风机厂家最新权威推荐排行榜
  • 2025公职面试培训品牌TOP5权威推荐:聚焦白雪面试对成长
  • 2025年11月审计事务所推荐榜:五家专业机构综合对比与选择指南
  • 2025年11月审计事务所市场报告:从资质到服务的全方位选择建议
  • 2025年评价高的冷拉型钢杭州品质装修
  • Diagzone Subscription Renewal for Thinkdiag2 DBSCAR7: Passenger, Electric Heavy Cars
  • 02-DBTrans事务管理核心教程
  • 2025年苹果售后维修网点查询指南:第三方连锁维修服务网络全解析
  • 2025年苹果售后维修网点查询指南:全国连锁维修服务与便捷预约方式
  • 中国酒店套房酒柜定制供应商推荐TOP5:现代风格酒柜定制优质
  • 2025年11月会计师事务所排行榜:主流机构对比与避坑指南
  • 2025年11月全屋定制哪家比较靠谱:十强全屋定制品牌哪家实
  • 如何选对20万家用SUV?2025年11月十大品牌深度解析,助力家庭精准决策不踩雷
  • 2025年耐用的小口径不锈钢焊管/大口径不锈钢焊管厂家推荐及选购指南
  • odoorpc下载附件
  • 2025年评价高的大跨距电缆桥架/槽式电缆桥架厂家最新推荐排行榜
  • 2025年苹果售后维修网点查询指南:专业连锁与官方渠道全解析
  • 2025武汉文化课集训学校权威推荐榜单:合规办学与提分实效双标杆
  • 2025 年元宵馅厂家最新推荐榜,技术创新与品质口碑深度解析,甄选安全健康优质品牌清真风味元宵馅/传统手工元宵馅/低糖元宵馅/古早味元宵馅/钙奶元宵馅公司推荐
  • 2025年口碑好的160℃脱硝催化剂行业内口碑厂家排行榜
  • 【Nordic随笔】蓝牙6.2核心规范概述
  • 2025年知名的超临界CO₂萃取热门厂家推荐榜单
  • NBA 常规赛核心竞争力升级与实战效能深化:球队竞技潜力释放
  • 2025年评价高的风管防火阀厂家推荐及选购参考榜