python walk dir(遍歷目錄)
阿新 • • 發佈:2019-01-08
import os
import sys
def walk_dir(dir, topdown = True):
for root, dirs, files in os.walk(dir, topdown):
for name in files:
print os.path.join(root, name)
for name in dirs:
print os.path.join(root, name)
walk_dir(".")
上面是自己的實驗,下面是轉自另外一篇文章
os模組提供的walk方法很強大,能夠把給定的目錄下的所有目錄和檔案遍歷出來。
方法:os.walk(path),遍歷path,返回一個物件,他的每個部分都是一個三元組,('目錄x',[目錄x下的目錄list],目錄x下面的檔案) 具體程式碼如下:
import os import sys def walk_dir(dir,fileinfo,topdown=True): for root, dirs, files in os.walk(dir, topdown): for name in files: print(os.path.join(name)) fileinfo.write(os.path.join(root,name) + '\n') file = open(os.path.join(root,name),"r") print file.readline(); for name in dirs: print(os.path.join(name)) fileinfo.write(' ' + os.path.join(root,name) + '\n') if __name__ == '__main__': dir = raw_input('please input the path:') fileinfo = open('list.txt','w') walk_dir(dir,fileinfo)
topdown決定遍歷的順序,如果topdown為True,則先列舉top下的目錄,然後是目錄的目錄,依次類推,反之,則先遞迴列舉出最深層的子目錄,然後是其兄弟目錄,然後子目錄。