【发布时间】:2014-04-27 21:11:40
【问题描述】:
我想递归地复制文件夹的内容,而不复制已经存在的文件。此外,目标文件夹已经存在并包含文件。 我尝试使用shutils.copytree(source_folder, destination_folder),但它并没有达到我想要的效果。
我希望它像这样工作:
之前:
- source_folder
- 子文件夹_1
- 富
- 酒吧
- sub_folder_2
- 子文件夹_1
- 目标文件夹
- folder_that_was_already_there
- file2.jpeg
- some_file.txt
- 子文件夹_1
- 富
- folder_that_was_already_there
之后:
- 目标文件夹
- folder_that_was_already_there
- file2.jpeg
- some_file.txt
- 子文件夹_1
- 富
- 酒吧
- sub_folder_2
- folder_that_was_already_there
【问题讨论】:
-
您能否澄清一下,什么不起作用?似乎您有一些与要复制什么文件和不复制什么文件相关的特定逻辑,不要指望shutils 为您做这件事,这必须在您的代码中决定。你能给我们看一些代码吗?
-
使用os.walk()枚举源树,os.path.exists()查看目标是否存在,os.stat()查看目标是否较旧,os.mkdir ()/shutil.copy2() 做事。
-
tdelaney 是对的。我实施它。我会尽快将其作为答案发布。
标签: python file recursion copy