把所有的文档都传到了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)
最后,放一个效果图