1. 程式人生 > >python中如何建立資料夾(以丟擲異常為依據)

python中如何建立資料夾(以丟擲異常為依據)

【時間】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

 

【執行結果】:

執行前:

 

執行後: