python打印目录结构
# coding: utf-8
import os,sys,codecs
lc=sys.getfilesystemencoding()
sys.stdout=codecs.lookup(lc)[-1](sys.stdout)
def walkdir(d,prefix=u''):
l=os.listdir(d)
last=len(l)-1
prefix+=u' │'
for i,f in enumerate(l):
if i!=last:
print prefix+u'─',
else:
print prefix[:-1]+u'└─',
prefix=prefix[:-1]+u' '
print f.decode(lc)
p=os.path.join(d,f)
if os.path.isdir(p):
walkdir(p,prefix)
if __name__ == '__main__':
d=os.path.abspath('.')
print os.path.basename(d).decode(lc)
walkdir(d)
输出:
ComicShelf
│─ dirtree.py
│─ zipMyComic.py
│─ 死神
│ │─ 死神_第460话
│ │ │─ 001.jpg
│ │ │─ 002.jpg
│ │ │─ 003.jpg
│ │ └─ 018.jpg
│ └─ 死神_第460话.zip
│─ 海贼王
│ │─ 海贼王[635]悍破云霄
│ │ │─ 001.jpg
│ │ │─ 002.jpg
│ │ │─ 003.jpg
│ │ └─ 017.jpg
│ └─ 海贼王[635]悍破云霄.zip
└─ 火影忍者
│─ 火影忍者[551]阻止长门
│ │─ 001.jpg
│ │─ 002.jpg
│ │─ 003.jpg
│ └─ 015.jpg
└─ 火影忍者[551]阻止长门.zip