1. 程式人生 > >python遍歷目錄下的所有檔案和目錄詳細介紹

python遍歷目錄下的所有檔案和目錄詳細介紹

目錄結構如下圖:

test---a------d------g--------g.txt

test---a------d------a.txt

test---a------e

--------b

--------c

--------1.txt

--------2.txt

一、使用os.walk遍歷所有的目錄和檔案

1、獲取test目錄下的所有檔案

    for root,dirs,files in os.walk(r"D:\test"):
        for file in files:
            #獲取檔案所屬目錄
            print(root)
            #獲取檔案路徑
            print(os.path.join(root,file))

2、獲取test目錄下的所有目錄

    for root,dirs,files in os.walk(r"D:\test"):
        for dir in dirs:
            #獲取目錄的名稱
            print(dir)
            #獲取目錄的路徑
            print(os.path.join(root,dir))

 

二、利用os.listdir遞迴獲取所有的目錄路徑和檔案路徑

def get_file_path(root_path,file_list,dir_list):
    #獲取該目錄下所有的檔名稱和目錄名稱
    dir_or_files = os.listdir(root_path)
    for dir_file in dir_or_files:
        #獲取目錄或者檔案的路徑
        dir_file_path = os.path.join(root_path,dir_file)
        #判斷該路徑為檔案還是路徑
        if os.path.isdir(dir_file_path):
            dir_list.append(dir_file_path)
            #遞迴獲取所有檔案和目錄的路徑
            get_file_path(dir_file_path,file_list,dir_list)
        else:
            file_list.append(dir_file_path)

if __name__ == "__main__":
    #根目錄路徑
    root_path = r"D:\test"
    #用來存放所有的檔案路徑
    file_list = []
    #用來存放所有的目錄路徑
    dir_list = []
    get_file_path(root_path,file_list,dir_list)
    print(file_list)
    print(dir_list)