0

我正在尝试比较两个具有不同数据和文件的文件夹,其中备份已完成,但并非所有文件和文件夹都已正确移动。有两个数据源 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
4

0 回答 0