当前位置: 首页 > 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.jsqmd.com/news/52655/

相关文章:

  • 2025年自动化立体库厂家推荐榜单最新发布:青岛茂源智能装备有限公司成为优选制造商
  • 2025年全国十大西点烘焙培训学校排行榜,优美西点口碑怎么样
  • 2025年空调减震器加工厂推荐:专业厂商全解析
  • 2025年耐老化门窗尼龙隔热条厂家最新热销排行
  • 2025年可靠的涤纶三明治网布/防霉抗菌三明治网布最新TOP品牌厂家排行
  • 2025年中国大型门窗十大品牌、定制门窗十大品牌、门窗十大品
  • PyTorch:AI时代的深度学习利器 - 实践
  • 2025年覆盖面广泛全屋定制书柜/全屋定制衣帽间高评价厂家推荐榜
  • 2025年优秀的方便面生产线/大型方便面生产线厂家最新推荐权威榜
  • 2025年口碑好的低钠铝溶胶/铝溶胶厂家最新权威实力榜
  • 2025年正规的组合式空调机组厂家最新热销排行
  • 完整教程:MCP服务器日志轮转:Awesome Claude Code磁盘管理终极指南
  • 2025年耐用的三维弯管加工品牌厂家排行榜
  • 2025年优质的增韧尼龙改性颗粒品牌厂家排行榜
  • 2025年优秀的非膨胀型防火涂料/华悦中天防火涂料最新TOP品牌厂家排行
  • 2025年中国十大益生菌靠谱厂家推荐:国内大型的益生菌工厂有
  • 2025年口碑好的烧烤年糕机热门厂家推荐榜单
  • 2025年比较好的天然火山岩用户好评厂家排行
  • 2025年中国益生菌厂家推荐:益生菌厂商及益生菌环保工厂十大
  • 2025年质量好的空气悬浮离心鼓风机/磁悬浮鼓风机厂家最新权威推荐排行榜
  • ? #7
  • 2025年评价高的钢结构维护材料销售厂家实力及用户口碑排行榜
  • 2025年必看:汉口黄沙定制厂家前十强榜单!黄沙定制厂家赋能企业生产效率提升与成本优化
  • 2025年11月AI智能客服机器人品牌排行榜出炉:聚焦AI交互能力与政企服务技术路线
  • 2025年优秀的核电冷却塔用户好评厂家排行
  • HtmlWebpackPlugin类完全解读:API参数与方法详解 - 指南
  • 2025年11月AI智能客服机器人品牌排行榜出炉:聚焦语音交互能力与场景适配技术路线
  • 2025年评价高的汽车配件弹簧/扭转弹簧厂家推荐及选择指南
  • 2025年比较好的304不锈钢网片品牌厂家排行榜
  • 2025年11月AI智能客服机器人五大品牌权威发布:提升客户服务效率的核心技术深度评测(