2017-10-12 54 views
0

我在Python中相當新的工作,我正在從Excel更改爲Python,所以我的參考點傾向於在excel中。我正在使用python 2.7。我瞭解如何複製文件,以及如何遍歷將所需文件複製到特定目標的文件夾。然而,我想要做的事情有點複雜。只要子目錄名稱匹配,將文件從一個目錄和子目錄複製到另一個目錄

這裏的設置: 2個目錄:2017年和2018年 300+夾在兩個

我想要做的事: 複製文件(shape文件,.CSV等)從單個文件夾在目錄2017到目錄2018中的同名文件夾(如果它存在,它可能不會,也沒關係)的文件夾。

我知道我需要一個for循環和一個if語句,我只是不' t知道如何編寫它: 如果文件夾'x'存在於目錄2017和2018中,則將文件'y_2017'從2017年的文件夾'x'複製到2018年的文件夾'x'。

我敢肯定,我以一種糟糕的態度和相當複雜的方式描述了這一點。如果有人有任何建議,我會很感激。

+0

如果您認爲答案是正確的,請接受它作爲您的問題的答案。 –

回答

0
import os 
import shutil 

source_folder = "2017" 
target_folder = "2018" 
subfolders = [a for a in os.listdir(source_folder) if os.path.isdir(os.path.join(source_folder, a))] 

for subfolder in subfolders: 
    if os.path.exists(os.path.join(target_folder, subfolder) and os.path.isdir(os.path.join(target_folder, subfolder)): 
     file_names = os.listdir(os.path.join(source_folder, subfolder)) 
     for f in file_names: 
      src_path = os.path.join(source_folder, subfolder, f) 
      tgt_path = os.path.join(target_folder, subfolder, f) 
      shutil.copy(src_path, tgt_path) 
相關問題