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 计算文件的md5值实例
Jan 13 Python
基于Python log 的正确打开方式
Apr 28 Python
python sys.argv[]用法实例详解
May 25 Python
python字典一键多值实例代码分享
Jun 14 Python
pytorch 共享参数的示例
Aug 17 Python
Python实现socket非阻塞通讯功能示例
Nov 06 Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 Python
python分布式计算dispy的使用详解
Dec 22 Python
Django封装交互接口代码
Jul 12 Python
详解python 内存优化
Aug 17 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
PHP速成大法
2015/01/30 PHP
jQuery Ajax()方法使用指南
2014/11/19 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
js选择器全面解析
2016/06/27 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
python实现文件分组复制到不同目录的例子
2014/06/04 Python
开始着手第一个Django项目
2015/07/15 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
在pycharm中显示python画的图方法
2019/08/31 Python
python实现银行管理系统
2019/10/25 Python
python序列化与数据持久化实例详解
2019/12/20 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
商务助理求职信范文
2014/04/20 职场文书
妇联主席先进事迹
2014/05/18 职场文书
法学自荐信
2014/06/20 职场文书
讲文明倡议书
2015/04/29 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL