python遍歷目錄下的所有檔案和目錄詳細介紹
阿新 • • 發佈:2018-11-09
目錄結構如下圖:
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)