「Pythonでmkdirhierとかrmtreeとかcp -r 的なこと」前の残骸

少し前に書いた自分のコードが一瞬理解出来なかった:

 1 import os
 2 
 3 # ...
 4 
 5 desttree = {
 6     "dest_toplevel": "c:/Users/Hage/_dest",
 7     # ...
 8 }
 9 
10 for k in desttree:
11     d = desttree[k]
12     if not os.path.exists(d):
13         t = [d]
14         while t:
15             try:
16                 os.mkdir(t[0])
17                 del t[0]
18             except Exception:
19                 t.insert(0, os.path.dirname(t[0]))

賢いんだか馬鹿なんだかはともかくとして、涙目で作ってたに違いない。「Pythonでmkdirhierとかrmtreeとかcp -r 的なこと」を知った今は:

 1 import os
 2 
 3 # ...
 4 
 5 desttree = {
 6     "dest_toplevel": "c:/Users/Hage/_dest",
 7     # ...
 8 }
 9 
10 from distutils.dir_util import mkpath
11 for k in desttree:
12     mkpath(desttree[k])

楽。