比较两个文件夹中的代码变化,两个文件夹代码变化,[Python]代码#


[Python]代码

# -*- coding: utf-8 -*-import os;folderA = "F:\\Projects\\FreeImageV3_14_1\\".lower();folderB = u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\".lower();filePathsA = {};filePathsB = {};for root,dirs,files in os.walk(folderA):    for fileName in files:        filePathsA[(root + "\\" + fileName).lower()] = 1;for root,dirs,files in os.walk(folderB):    for fileName in files:        filePathsB[(root + "\\" + fileName).lower()] = 1;# 在filePathsA中,找到所有和filePathsB中不一致的文件的路径        modifiedFilePath = [];addedFilePath = [];for filePathA in filePathsA:    folderALen = len(folderA);    filePathB = folderB + filePathA[folderALen:];     idx = filePathA.rfind(".");    if idx == -1:        continue;    ext = filePathA[idx + 1:];    ext = ext.lower();    if ext != "c" and ext != "h" and ext != "cpp" and ext != "cxx":        continue;    if filePathB not in filePathsB:        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();    if textA != textB:              modifiedFilePath.append(filePathA);output = open('res.txt', 'w');output.write("added files:\n");for filePath in addedFilePath:    output.write(filePath + "\n");output.write("modified files:\n");for filePath in modifiedFilePath:    output.write(filePath + "\n");output.close();

评论关闭