Python 查找匹配文件夹,然后复制文件和子文件夹

Python 查找匹配文件夹,然后复制文件和子文件夹,python,copy,directory,subdirectory,Python,Copy,Directory,Subdirectory,我是Python新手,想做一项任务。。。我需要比较两个文件夹dirfolder1和dirfolder2中的文件夹名称。。。比较其中的文件夹,如果它们匹配…复制匹配文件夹中的文件和子文件夹 谢谢你的帮助 Daddih.您可以执行以下操作: import os, shutil dir1 = r'/path/to/dir/1' dir2 = r'/path/to/dir/2' copy_dest = r'/path/to/copy/dirs/to' dir1_folders = [dir for

我是Python新手,想做一项任务。。。我需要比较两个文件夹dirfolder1和dirfolder2中的文件夹名称。。。比较其中的文件夹,如果它们匹配…复制匹配文件夹中的文件和子文件夹

谢谢你的帮助


Daddih.

您可以执行以下操作:

import os, shutil

dir1 = r'/path/to/dir/1'
dir2 = r'/path/to/dir/2'
copy_dest = r'/path/to/copy/dirs/to'

dir1_folders = [dir for dir in os.listdir(dir1) if os.path.isdir(os.path.join(dir1, dir))]
dir2_folders = [dir for dir in os.listdir(dir2) if os.path.isdir(os.path.join(dir2, dir))]

for dir in dir1_folders:
    if dir in dir2_folders:
        shutil.copytree(os.path.join(dir1, dir), os.path.join(copy_dest, dir))

基本上,遍历每个目录,创建其子目录列表,比较它们,对于匹配项,将它们复制到第三个位置(如果有子目录,则使用copytree)。

您的意思是仅在顶层?例如,是否要将dirfolder1/a/b复制到dirfolder2/c/b中?是否尝试了某些操作?展示一些代码并解释你在哪里stuck@ABS他们在不同的驱动器中……@FC尝试了一些东西,但我所做的只是在每个文件夹中显示子文件夹ahh,所以您想将内容从dir1复制到dir2?基本上是合并文件夹吗?嗨,Aravenel,谢谢你的输入代码工作正常。。。。我们能不能像把东西从dir1复制到dir2一样,而不必复制到另一个文件夹。。。非常感谢,我非常感谢。。。。我想这将是我改进第一部分的一个很好的起点。。。。thanx:-)是的,就是这个想法。。。也许我没把它说对。。。。如果我们在dir中有类似的子文件夹,那么它如何处理windows问题呢?在这种情况下,您可能需要使用类似于
os.walk()
的方法来遍历dir1,并对每个文件检查dir2中是否存在,跳过那些存在的,复制那些不存在的。或者,您可以使用并编辑目录,以有效地执行相同的操作—删除
os.makedirs()
,在浏览每个目录的内容时,检查它是否存在,并复制不存在的内容。