python複製目錄

 最近有個windows下批量更新文件的小需求,將一個目錄下的所有文件覆蓋到另一個目錄下,首先想到shutil模塊,shutil模塊主要用於文件夾的操作。其中copytree用來對目錄進行復制,但是比較遺憾的是,如果目標文件已經存在的話,該函數就會報錯拋異常了,非常的不給力..後面就直接用os.system調用了xcopy命令,生產環境上一跑,大部分機器是正常,某些機器會報"無效的參數數量"錯誤,繞了一圈還是自己寫了個簡單的copy函數..



# -*- coding=gbk -*-
import os
import shutil

def copy3(src, dst):
    try:
        names = os.walk(src)
        for root, dirs, files in names:
            for i in files:
                srcname = os.path.join(root, i)
                dir = root.replace(src, '')
                dirname = dst + dir
                if os.path.exists(dirname):
                    pass
                else:
                    os.makedirs(dirname)
                dirfname = os.path.join(dirname, i)
                shutil.copy2(srcname, dirfname)
    except Exception, e:
        print e



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章