正能量網(wǎng)站窗口免費(fèi)進(jìn)網(wǎng)店推廣方式有哪些
把所有的文檔都傳到了git上,但是內(nèi)容過多找起來不方便,突發(fā)奇想如果能在readme中,遞歸列出所有文件同時(shí)添加上對(duì)應(yīng)的地址,這樣只需要搜索到對(duì)應(yīng)的文件點(diǎn)擊就能跳轉(zhuǎn)過去了…
列出文件總得有個(gè)顯示格式,所以就按照tree的來了…
用python實(shí)現(xiàn)命令tree的效果
首先,這是tree的效果
用到的符號(hào)實(shí)際只有三個(gè) ├─ │ └─.
我本以為會(huì)挺難的,因?yàn)榘俣攘税胩旄鞣N都有,但是沒找到一個(gè)做出tree這個(gè)效果的
最后因?yàn)槭切率?所以代碼寫的可能有很多不足.
#!/usr/bin/env python
# -*-coding:utf-8-*-
'''describe:
'''
import os# 黑名單 不想列出的目錄
blacklist = [".git",".idea"]
# 指定列出那個(gè)目錄下的所有內(nèi)容
rpath = "D:\\document"
def DirAndFile(path,symbol = ""):# 列出所有目錄和文件 同時(shí)統(tǒng)計(jì)數(shù)量用于判斷fileList = os.listdir(path)totleNum = len(fileList)num = 1for i in fileList:# 如果是黑名單目錄 那么直接跳過if i in blacklist:num = num + 1continue# 路徑合并 遞歸調(diào)用時(shí)繼續(xù)向下傳遞tmpPath = os.path.join(path,i)if os.path.isfile(tmpPath):# 判斷是否為最后一個(gè)if num == totleNum:print(symbol + " └─ ",i)else:print(symbol + " ├─ ",i)else:# 判斷目錄是否為最后一個(gè) 如果是則使用不同的符號(hào)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)
最后,放一個(gè)效果圖