2015-05-04 152 views
0

我嘗試複製一個目錄(分爲文件夾和子文件夾)到一個新的文件夾,將被創建。我使用python 2.7。如何使用Python複製文件夾(分成子文件夾)?

  • dir_src =一個存在文件夾
  • dir_dst =一個新的文件夾(不存在),所有的文件夾將被複制到

我讀https://docs.python.org/2/library/shutil.html並試圖此代碼:

import os,shutil 

dir_src = r"C:\Project\layers" 
dir_dst = r"C:\Project\new" 
for file in os.listdir(dir_src): 
    print file 
    src_file = os.path.join(dir_src, file) 
    dst_file = os.path.join(dir_dst, file) 
    shutil.copytree(src_file, dst_file,symlinks=False, ignore=None) 
    print 'copytree' 

但是我收到一個錯誤:

WindowsError: [Error 267] : 'C:\\Project\\layers\\abc.cpg/*.*' 

非常感謝您的幫助。

+1

似乎你沒有權限閱讀這些文件 – Salo

回答

0

關於編輯的問題和錯誤:

WindowsError: [Error 267] : 'C:\\Project\\layers\\abc.cpg/*.*' 

請仔細閱讀docs

import shutil 

dir_src = r"C:\Project\layers" 
dir_dst = r"C:\Project\new" 
shutil.copytree(dir_src, dir_dst) 

你不需要任何的。

注意: 請注意,目標路徑不應該存在。

+0

Reishin,我必須得到已複製的文件夾和文件的列表。 – newGIS

+0

@newGIS在這個問題上沒有提到這一點。如果您需要記錄每個文件,請考慮使用遞歸爲文件夾手動複製每個文件。是的,'copytree'沒有回調做這樣的事情。 – Reishin

1

您正在收到的錯誤(Permission denied)應該告訴您什麼是問題 - 您無權讀取或複製文件。以管理員身份運行程序應該修復它。

相關問題