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


Posted in Python onJuly 10, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python下singleton模式的实现方法
Jul 16 Python
深入理解Django的自定义过滤器
Oct 17 Python
Python时间戳使用和相互转换详解
Dec 11 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
mac安装scrapy并创建项目的实例讲解
Jun 13 Python
python批量复制图片到另一个文件夹
Sep 17 Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
Python运算符+与+=的方法实例
Feb 18 Python
用python实现监控视频人数统计
May 21 Python
python简单文本处理的方法
Jul 10 #Python
Python实现把json格式转换成文本或sql文件
Jul 10 #Python
Python中的一些陷阱与技巧小结
Jul 10 #Python
Python中的fileinput模块的简单实用示例
Jul 09 #Python
Python中的anydbm模版和shelve模版使用指南
Jul 09 #Python
python冒泡排序简单实现方法
Jul 09 #Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 #Python
You might like
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
PHP中overload与override的区别
2017/02/13 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP实现验证码校验功能
2017/11/16 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
记录几个javascript有关的小细节
2007/04/02 Javascript
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python保存文件方法小结
2018/07/27 Python
python配置grpc环境
2019/01/01 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
python实现按日期归档文件
2021/01/30 Python
旅游活动总结
2014/08/27 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python