本文實例講述了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 + "http://" + fileName).lower()] = 1;for root,dirs,files in os.walk(folderB): for fileName in files: filePathsB[(root + "http://" + 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();希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答
圖片精選