Python实现比较两个文件夹中代码变化的方法
发布时间:2020-12-16 22:10:12 所属栏目:Python 来源:网络整理
导读:本篇章节讲解Python实现比较两个文件夹中代码变化的方法。供大家参考研究。具体如下: 这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件 # -*- coding: utf-8 -*-import os;folderA = "F:ProjectsFreeImage
本篇章节讲解Python实现比较两个文件夹中代码变化的方法。分享给大家供大家参考。具体如下: 这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件 # -*- coding: utf-8 -*- import os; folderA = "F:ProjectsFreeImageV3_14_1".lower(); folderB = u"E:Software图像解码库FreeImage3141FreeImage".lower(); filePathsA = {}; filePathsB = {}; for root,dirs,files in os.walk(folderA): for fileName in files: filePathsA[(root + "" + fileName).lower()] = 1; for root,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(); 希望本文所述对大家的Python程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |