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