首页 > 编程 > Python > 正文

Python实现比较两个文件夹中代码变化的方法

2019-11-25 17:12:33
字体:
来源:转载
供稿:网友

本文实例讲述了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();

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表