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

以文件树的形式展示目标文件夹

在这里插入图片描述
指定一个目标路径和需要忽略的文件,即可可视化文件夹下的所有文件

import os

def display_file_tree(directory, indent="", ignore_list=None):
    # 如果 ignore_list 为 None,初始化为空列表
    if ignore_list is None:
        ignore_list = []

    # 获取目录中的所有文件和文件夹
    try:
        items = os.listdir(directory)
    except PermissionError:
        print(indent + "├── [无权限访问]")
        return

    # 按名称排序,便于查看
    items.sort()

    # 遍历每个项目
    for index, item in enumerate(items):
        # 跳过 ignore_list 中的文件或文件夹
        if item in ignore_list:
            continue

        # 构建完整路径
        path = os.path.join(directory, item)
        # 判断是否为最后一个项目,用于调整前缀符号
        is_last = index == (len(items) - 1)
        # 设置显示符号
        current_prefix = "└── " if is_last else "├── "
        # 打印当前项目
        print(indent + current_prefix + item)

        # 如果是文件夹,递归调用以展示其内容
        if os.path.isdir(path):
            # 子目录的前缀缩进
            next_indent = indent + ("    " if is_last else "│   ")
            display_file_tree(path, next_indent, ignore_list)


# 使用示例:替换为你想查看的目录路径
directory_path = r"D:\GitProgress\theAllTools\hucii写代码"
# 定义忽略列表
ignore_list = ["__pycache__", "start.py", "moduleB.py"]
print(f"文件树: {directory_path}")
display_file_tree(directory_path, ignore_list=ignore_list)

相关文章:

  • 用Django和AJAX创建一个待办事项应用
  • 蓝桥杯2022年第十三届省赛真题-求阶乘
  • Web Worker
  • 2024年KBS SCI1区TOP:信息增益比子特征分组赋能粒子群算法ISPSO,深度解析+性能实测
  • MySQL InnoDB设计图鉴——核心组件讲解
  • Elasticsearch-新增数据时自动生成 @timestamp 时间字段
  • 使用 3D Layout 和 Icepak 进行 PCB、DCIR 和热分析
  • 如何预估一个系统的QPS
  • TIM输出比较--PWM
  • Android性能案例分析
  • Spring Cloud 通用相关组件详解
  • 详解 kotlin 相对 Java 特有的关键字及使用
  • 《算法笔记》3.1小节——入门模拟->简单模拟
  • C#: DxF文件中Spline解析
  • 【前缀和】矩阵区域和(medium)
  • 支付系统设计入门:核心账户体系架构
  • C++ 入门三:函数与模板
  • windows主机中构建适用于K8S Operator开发环境
  • 【软考-高级】【信息系统项目管理师】【论文基础】进度管理过程输入输出及工具技术的使用方法
  • 编程语言中变量定义方式的深度剖析