2012-02-23 88 views
0

我是Python中的新成员,并且想要执行任务...我需要比较两个文件夹dirfolder1和dirfolder2中的文件夹名称...比较它们中的文件夹以及它们是否匹配。 ..复制文件和子文件夹内匹配的文件夹...找到匹配的文件夹,然后复制文件和子文件夹

感谢您的帮助。

Daddih。

+0

你的意思只是在最高层?例如,你是否想将dirfolder1/a/b复制到dirfolder2/c/b? – ABS 2012-02-23 18:26:40

+0

你尝试过什么吗?显示一些代码和解释你在哪里卡住 – 2012-02-23 18:33:18

+0

@ABS他们在不同的驱动器.... @ FC已经尝试了一些东西,但我有什么只是在每个文件夹中显示子文件夹 – Dan 2012-02-23 18:34:55

回答

1

你可以做类似如下:

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,以防有任何子目录)到第三个位置。

+0

啊,所以你想复制_content_从dir1到dir2?基本上合并文件夹? – aravenel 2012-02-23 19:28:15

+0

嗨Aravenel,感谢您的输入代码的作品....我们可以像从dir1复制到dir2的东西,而不是必须复制到另一个文件夹...非常感谢,我很欣赏....认为这会对我来说,改善第一部分是一个很好的起点,我有.... thanx :-) – Dan 2012-02-23 19:29:11

+0

是的,这是想法...可能是我dint把它正确....以及它如何处理窗口的问题如果我们在目录中有类似的子文件夹 – Dan 2012-02-23 19:30:29

相关问题