Python实现比较两个文件夹中代码变化的方法
本文实例讲述了Python实现比较两个文件夹中代码变化的方法。分享给大家供大家参考。具体如下:
这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件
#-*-coding:utf-8-*-
importos;
folderA="F:\\Projects\\FreeImageV3_14_1\\".lower();
folderB=u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\".lower();
filePathsA={};
filePathsB={};
forroot,dirs,filesinos.walk(folderA):
forfileNameinfiles:
filePathsA[(root+"\\"+fileName).lower()]=1;
forroot,dirs,filesinos.walk(folderB):
forfileNameinfiles:
filePathsB[(root+"\\"+fileName).lower()]=1;
#在filePathsA中,找到所有和filePathsB中不一致的文件的路径
modifiedFilePath=[];
addedFilePath=[];
forfilePathAinfilePathsA:
folderALen=len(folderA);
filePathB=folderB+filePathA[folderALen:];
idx=filePathA.rfind(".");
ifidx==-1:
continue;
ext=filePathA[idx+1:];
ext=ext.lower();
ifext!="c"andext!="h"andext!="cpp"andext!="cxx":
continue;
iffilePathBnotinfilePathsB:
addedFilePath.append(filePathA);
continue;
text_file=open(filePathA,"r");
textA=text_file.read();
text_file.close();
text_file=open(filePathB,"r");
textB=text_file.read();
text_file.close();
iftextA!=textB:
modifiedFilePath.append(filePathA);
output=open('res.txt','w');
output.write("addedfiles:\n");
forfilePathinaddedFilePath:
output.write(filePath+"\n");
output.write("modifiedfiles:\n");
forfilePathinmodifiedFilePath:
output.write(filePath+"\n");
output.close();
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短