我正在尝试将两个文件夹与不同的数据和文件进行比较,其中备份已完成且并非所有文件和文件夹都已正确移动。 有两个数据源dir1和dir2,想要在dir1中查找数据的脚本,如果该文件夹不存在,则将整个文件夹移动到移动文件夹位置,但如果存在,则比较该文件夹的内容然后将不匹配的数据移动到移动文件夹,将类似数据移动到删除文件夹位置。 我已经尝试了几种方法来做到这一点并且卡住了,我唯一可以解决的是在两个源之间移动目录,但是当涉及比较两个源之间的文件并移动它们时有点挑战性。花了很多时间从论坛尝试不同的方法,但没有运气。我已经添加了迄今为止的内容。谢谢。
import os, shutil, filecmp, fnmatch, glob, zipfile, sys, time, re
dir1 = r'C:\ZZZ\Test1' dir2 = r'C:\ZZZ\Test2'
FolderMove = r'C:\ZZZ\Move' FolderDelete = r'C:\ZZZ\Delete'
from os.path import join, isfile
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 not in dir2_folders: shutil.move(os.path.join(dir1, dir), os.path.join(FolderMove, dir)) print dir
for dir in dir1_folders: if dir in dir2_folders: shutil.move(os.path.join(dir1, dir), os.path.join(FolderDelete, dir)) print dir