2014-04-21 72 views
3

有人可以幫助我瞭解如何將文件夾中的所有文件複製到python中的另一個目標文件夾。問題是我不想複製子目錄結構。但我想要它們中的文件。如何從一個文件夾(包括子文件夾)中複製所有文件,而不復制python中的文件夾結構

例如,假設在根文件夾中有3個文件夾,每個文件夾包含10個文件。在每個文件夾中還有2個文件夾,每個文件夾包含5個文件。 (因此每個第一級文件夾共有20個文件和2個子目錄)。總共達到60個文件。

我希望將所有這60個文件複製到一個目標目錄,丟棄子文件夾結構。

這是我試過的代碼:

# path : source folder path 
# compiled_path: destination folder path 
w = os.walk(path) 
for root, dirs, files in w: 
    for dir_name in dirs: 
     file_list_curent_dir = os.walk(path+"\\"+dir_name).next()[2] 
     for item in file_list_curent_dir: 
      shutil.copy(path+"\\"+dir_name+"\\"+item, compiled_path+"\\"+item) 

它複製文件最上層,而不是子目錄中的文件夾。

非常感謝您的時間。

+0

你有沒有完全達到目標?你取得了什麼成就?你的代碼在哪裏,它做了什麼,它究竟如何做到你想要的呢? – jonrsharpe

+0

我已經添加了我試過的代碼。早先忘記了。 –

回答

6
import os 
import shutil 

for root, dirs, files in os.walk('.'): # replace the . with your starting directory 
    for file in files: 
     path_file = os.path.join(root,file) 
     shutil.copy2(path_file,'destination_directory') # change you destination dir 
+0

解釋你的變化的行爲 –

相關問題