把所有的文档都传到了git上,但是内容过多找起来不方便,突发奇想如果能在readme中,递归列出所有文件同时添加上对应的地址,这样只需要搜索到对应的文件点击就能跳转过去了…
列出文件总得有个显示格式,所以就按照tree的来了…
用python实现命令tree的效果
首先,这是tree的效果
用到的符号实际只有三个 ├─ │ └─.
我本以为会挺难的,因为百度了半天各种都有,但是没找到一个做出tree这个效果的
最后因为是新手,所以代码写的可能有很多不足.
#!/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 = 1for i in fileList:# 如果是黑名单目录 那么直接跳过if i in blacklist:num = num + 1continue# 路径合并 递归调用时继续向下传递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 + 1if __name__ == '__main__':print(rpath)DirAndFile(rpath)
最后,放一个效果图