1. 程式人生 > >python walk dir(遍歷目錄)

python walk dir(遍歷目錄)

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下的目錄,然後是目錄的目錄,依次類推,反之,則先遞迴列舉出最深層的子目錄,然後是其兄弟目錄,然後子目錄。