沙洛姆,
我的脚本假装执行以下操作:
我已经解决了覆盖问题,即src和dst中都存在一个文件/目录。
现在,我唯一的问题是src文件夹被复制而没有自身。
例如:
src =“ D:/ Apple / 21042019 /..."
dst =“ C:/ Apple /
执行脚本时,在目标位置得到以下内容:
“ C:/ Apple / ...”
尽管我理想的状态是:
“ C:/ Apple / 21042019 /...”
请参阅下面的附加代码
有什么建议吗?
def copytree(self, src, dst, symlinks=False, ignore=None):
root_src_dir = src
root_dst_dir = dst
for src_dir, dirs, files in os.walk(root_src_dir):
dst_dir = src_dir.replace(root_src_dir, root_dst_dir, 1)
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
for file_ in files:
src_file = os.path.join(src_dir, file_)
dst_file = os.path.join(dst_dir, file_)
if os.path.exists(dst_file):
# in case of the src and dst are the same file
if os.path.samefile(src_file, dst_file):
continue
os.remove(dst_file)
shutil.move(src_file, dst_dir)