python复制目录

2020-01-13 10:52:04 浏览数 (2)

 最近有个windows下批量更新文件的小需求,将一个目录下的所有文件覆盖到另一个目录下,首先想到shutil模块,shutil模块主要用于文件夹的操作。其中copytree用来对目录进行复制,但是比较遗憾的是,如果目标文件已经存在的话,该函数就会报错抛异常了,非常的不给力..后面就直接用os.system调用了xcopy命令,生产环境上一跑,大部分机器是正常,某些机器会报"无效的参数数量"错误,绕了一圈还是自己写了个简单的copy函数..

代码语言:javascript复制
# -*- 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

0 人点赞