python实现命令tree的效果

把所有的文档都传到了git上,但是内容过多找起来不方便,突发奇想如果能在readme中,递归列出所有文件同时添加上对应的地址,这样只需要搜索到对应的文件点击就能跳转过去了...

列出文件总得有个显示格式,所以就按照tree的来了...

用python实现命令tree的效果

首先,这是tree的效果

用到的符号实际只有三个 ├─ │ └─.

我本以为会挺难的,因为百度了半天各种都有,但是没找到一个做出tree这个效果的

最后因为是新手,所以代码写的可能有很多不足.

python 复制代码
#!/usr/bin/env python
# -*-coding:utf-8-*-
'''
    describe:
'''
import os

# 黑名单 不想列出的目录
blacklist = [".git",".idea"]
# 指定列出那个目录下的所有内容
rpath = "D:\\document"
def DirAndFile(path,symbol = ""):
    # 列出所有目录和文件 同时统计数量用于判断
    fileList = os.listdir(path)
    totleNum = len(fileList)
    num = 1
    for i in fileList:
        # 如果是黑名单目录 那么直接跳过
        if i in blacklist:
            num = num + 1
            continue
        # 路径合并 递归调用时继续向下传递
        tmpPath = os.path.join(path,i)
        if os.path.isfile(tmpPath):
            # 判断是否为最后一个
            if num == totleNum:
                print(symbol + "  └─ ",i)
            else:
                print(symbol + "  ├─ ",i)
        else:
            # 判断目录是否为最后一个 如果是则使用不同的符号
            if num == totleNum:
                print(symbol + "  └─ ",i)
                DirAndFile(tmpPath, symbol + "     ")
            else:
                print(symbol + "  ├─ ", i)
                DirAndFile(tmpPath,symbol + "  │  ")
        num = num + 1

if __name__ == '__main__':
    print(rpath)
    DirAndFile(rpath)

最后,放一个效果图

相关推荐
三水写代码5 分钟前
手写一个 Claude Code(1):从 Agent Loop 到工具、权限、Hooks 与任务规划
python·ai编程·claude·ai agent·claudecode
m0_547486669 分钟前
《Python高级编程》全套PPT课件2026(北京理工大学)
python·pycharm
Elaine33618 分钟前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础
EatFan21 分钟前
AI Agent 上生产前先加三道闸门:审批、限权、可回放的工程实践
人工智能·python·算法·多智能体·ai agent·mcp·harness
思茂信息44 分钟前
CST软件BCI仿真模型及仿真案例
开发语言·单片机·嵌入式硬件·算法·emc
xfan_me1 小时前
维修保养记录精准版 API 对接实战指南
java·大数据·python
海上小飞龙1 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
java·c++·python
阿里嘎多学长1 小时前
2026-09-28 GitHub 热点项目精选
开发语言·程序员·github·代码托管
XiaoMaqqqq1 小时前
目前知名的IP驱动产业新场景新工具有哪些
网络·python·网络协议·tcp/ip
玩大数据的龙威1 小时前
农经权二轮延包—固定比例尺不定图幅的公示图批量生成
python·arcgis·二轮延包公示图