python中如何建立資料夾(以丟擲異常為依據)
阿新 • • 發佈:2018-11-17
【時間】2018.11.15
【題目】python中如何建立資料夾(以丟擲異常為依據)
概述
在python中,可以使用os.makedirs(path)建立資料夾,可是如果需要建立多個資料夾,比如你在將包含多個子資料夾中的檔案複製到另一個資料夾中時,這時如果一個個建立資料夾,程式碼會顯得很冗雜。這時可以使用丟擲異常的方式來判斷需要建立哪些資料夾。具體如下。
一、資料夾不存在時丟擲異常
在python中,可以使用shutil.copy(filename, save_file_path)進行檔案複製,而當目標資料夾不存在時,會丟擲IOError異常,如下:
二、根據丟擲的異常建立資料夾
在確保儲存路徑正確的前提下,我們可以根據丟擲的異常來進行資料夾的建立。具體是根據根據丟擲異常時的路徑建立資料夾,具體而言可以使用os.path.dirname(save_path)獲取檔案的路徑。最終程式碼如下:
【程式碼】
import os import shutil path ='C:/Users/Administrator/Desktop/test/image/' save_path ='C:/Users/Administrator/Desktop/test/image_save/' filenames = [] for home, dirs, files in os.walk(path): for filename in files: name = '/'.join([home, filename]) filenames.append(name) for filename in filenames: save_name = '/'.join(filename.split('/')[-1:]) #根據自己要保留的路徑名選取,[-1:]表示只取檔名 print(save_name) try: shutil.copy(filename, save_path +save_name) # copy except IOError: subdir = os.path.dirname(save_path) if not os.path.exists(subdir): os.makedirs(subdir) shutil.copy(filename, save_path+save_name) # copy
【執行結果】:
執行前:
執行後: