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 婆婆高寿祝福语大全简短