import os, sys, math path = os.getcwd() root = os.listdir(path) img = [ '    ', '│   ', '├── ', '└── ' ] Color = {'default': '\033[0m', 'red': '\033[31m', 'green': '\033[32m', 'grey': '\033[36m'} counts = {'directories': 0, 'files': 0} def maxf(level):     count=0     while level:         level = math.floor(level/4)         count += 1     return count def flo(level):     pic = ''     while level:         lev = level % 4         pic += img[lev]         level = math.floor(level/4)     return pic def draw(floor, element, isDir):     color = 'default'     if isDir:         color = 'grey'         counts['directories'] += 1     else:         counts['files'] += 1     print(floor + Color[color] + str(element) + Color['default']) def ele(i, level, dire):     i = list(filter(lambda x:x[0] != '.', i))     t = pow(4, maxf(level) - 1)     for x in range(len(i)):         if x < len(i) - 1:             Dire = os.path.join(dire, i[x])             draw(flo(level), i[x], os.path.isdir(Dire))             if os.path.isdir(Dire):                 dirlist = os.listdir(Dire)                 ele(dirlist, level+t*4+3*t, Dire)         else:             Dire = os.path.join(dire, i[x])             draw(flo(level+t), i[x], os.path.isdir(Dire))             if os.path.isdir(Dire):                 dirlist = os.listdir(Dire)                 ele(dirlist, level+t*4+2*t, Dire) print('.') ele(root, 2, '.') print() print(counts['directories'],'directories,',counts['files'],'files') 
  |