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之变量和参数
Oct 10 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
Python中矩阵库Numpy基本操作详解
Nov 21 Python
python+django加载静态网页模板解析
Dec 12 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
Oct 11 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
python验证码图片处理(二值化)
Nov 01 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
python xlwt模块的使用解析
Apr 13 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实现每天自动变换随机问候语的方法
2015/05/12 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
深入理解javascript prototype的相关知识
2019/09/19 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
解读! Python在人工智能中的作用
2017/11/14 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
浅谈Python基础—判断和循环
2019/03/22 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
详解python日志输出使用配置文件格式
2021/02/10 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
高中军训感言200字
2014/02/23 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
高效课堂教学反思
2016/02/24 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python
搭建Yolov5服务器
2022/04/30 Servers