发布于 2015-11-10 00:55:00 | 201 次阅读 | 评论: 0 | 来源: 网友投递
Python编程语言
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
这篇文章主要介绍了Python实现比较两个文件夹中代码变化的方法,实例分析了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();