Re: [問題] 請問該怎麼改寫這段CODE

看板Python作者 (想辦法突破)時間13年前 (2012/03/14 17:21), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/4 (看更多)
: 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

03/14 20:59, , 1F
自己呼叫自己 就是遞迴 沒分啥正不正式 難掌握是真的
03/14 20:59, 1F
文章代碼(AID): #1FO6CVz- (Python)
文章代碼(AID): #1FO6CVz- (Python)