使用shutil进行Python目录复制

时间:2018-02-14 04:58:10

标签: python python-2.7

我的代码如下:

import shutil
import os
def copy_files(file_path, symlinks=False, ignore=None):
    try:
        if os.path.isdir(src):
            shutil.copytree(src, dest, symlinks, ignore)
        else:
            shutil.copy2(src, dest)
    except IOError:
        pass

执行代码时收到以下错误:

 shutil.copytree(src, dest, symlinks, ignore)
 File "/usr/lib64/python2.7/shutil.py", line 177, in copytree
 os.makedirs(dst)
 File "/usr/lib64/python2.7/os.py", line 157, in makedirs
 mkdir(name, mode) 
 OSError: [Errno 17] File exists: '


File path: /etc/ /var/tmp/
it works cp -r /etc/ /var/tmp/

Python2.7我正在使用

1 个答案:

答案 0 :(得分:1)

可能是因为目标目录已存在而出现此错误。来自copytree()的文档:

  

目标目录(由dst命名)必须不存在; ...

尝试在shutil.rmtree(dest, True)之前调用shutil.copytree()

如果目标存在,

cp不会失败:它只会覆盖它。