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实现可以断点续传和并发的ftp程序
Sep 13 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 Python
Python3中的json模块使用详解
May 05 Python
Python中fnmatch模块的使用详情
Nov 30 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
Python使用socket_TCP实现小文件下载功能
Oct 09 Python
python使用pygame创建精灵Sprite
Apr 06 Python
python 闭包函数详细介绍
Apr 19 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
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
Symfony的安装和配置方法
2016/03/17 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
JavaScript实现时间表动态效果
2017/07/15 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
celery4+django2定时任务的实现代码
2018/12/23 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
面试后感谢信怎么写
2014/02/01 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
幼儿园家长寄语
2014/04/02 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
公证书格式
2015/01/23 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
Python实现日志实时监测的示例详解
2022/04/06 Python
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers
使用CSS实现音波加载效果
2023/05/07 HTML / CSS