作者kadodo (想办法突破)
看板Python
标题Re: [问题] 请问该怎麽改写这段CODE
时间Wed Mar 14 17:21:33 2012
: def getDir(path, depth, current=0, tmp=[]):
: if depth <= current:
: return tmp
: dirs = os.listdir(path)
: for i in range(len(dirs)):
: if (os.path.isdir(path+"/"+dirs[i])):
: tmp.append( [path+"/"+dirs[i], current] )
: getDir(path+"/"+dirs[i], depth, current+1)
: return tmp
tmp2 = getDir(root, depth)
all = [tmp2[j][0] for j in range(len(tmp2)) if tmp2[j][1]==depth-1]
: for i in range(len(all)):
: print("tc=", i, all[i])
: 在current还没达到depth的深度时,会继续往该目录下一层去抓
: 大致上做法应该是这样,有错的地方再请更正 :)
首先感谢你的答覆~~~
我修改了一点点得到了我想要的结果
我还有个问题是 在getDir里面呼叫自己的做法 是很正式的用法吗?
还是可以用decorator@ 来做呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 192.203.57.28
1F:→ amulet5566:自己呼叫自己 就是递回 没分啥正不正式 难掌握是真的 03/14 20:59