2012-02-23 109 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

相關問題