我的代码如下:
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我正在使用
答案 0 :(得分:1)
可能是因为目标目录已存在而出现此错误。来自copytree()
的文档:
目标目录(由dst命名)必须不存在; ...
尝试在shutil.rmtree(dest, True)
之前调用shutil.copytree()
。
cp
不会失败:它只会覆盖它。