2015-09-29 45 views
3

我相信我錯過了這個,因爲它必須很容易,但我已經看過Google,The Docs,所以我找不到一個簡單的方法將一堆目錄複製到另一個已經存在的目錄中Python 3?如何將所有子文件夾複製到Python 3中的現有文件夾?

answersAll我覺得recommend usingshutil.copytree但正如我所說,我需要複製一堆文件夾,和他們所有的內容,到現有的文件夾(並保存任何文件夾或已經在目標存在)

有沒有辦法在Windows上做到這一點?

+0

這裏是複製樹的實際實現... https://docs.python.org /2/library/shutil.html#copytree-example它應該很容易將其更改爲允許已存在的目錄並跳過已存在的文件 –

+0

這意味着什麼*「不覆蓋」* - 是否想要跳過現有的文件還是跳過現有的目錄樹(除了根目錄)?有很多選擇:如果你不限制選擇;你可能會得到類似'rsync'的東西。 – jfs

+0

@ J.F.Sebastian編輯了我的問題。我只是想留下已經存在的目錄和文件。 – Startec

回答

0

我會考慮使用python內置的os模塊。特別是os.walk,它返回你指向的目錄中的所有文件和子目錄。我不會告訴你如何做到這一點,但是這裏有一些示例代碼用於備份我的文件。我使用os和zipfile模塊。

import zipfile 
import time 
import os 

def main(): 
    date = time.strftime("%m.%d.%Y") 

    zf = zipfile.ZipFile('/media/morpheous/PORTEUS/' + date, 'w') 

    for root, j, files in os.walk('/home/morpheous/Documents'): 
     for i in files: 
      zf.write(os.path.join(root, i)) 
zf.close() 

希望這會有所幫助。另外應該指出,我在linux中這樣做,但是對文件路徑進行一些更改,它應該可以工作相同

+0

@Startec沒有提及任何關於壓縮 – ozy

+0

我沒有做到這一點,以顯示壓縮,只是在一個完整的目錄中的文件一般來說你可以做到這一點 – Ellis

相關問題