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的print输出流方法
Jan 07 Python
python for 循环获取index索引的方法
Feb 01 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
numpy.linspace函数具体使用详解
May 27 Python
python 中的列表生成式、生成器表达式、模块导入
Jun 19 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
Aug 29 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
Django xadmin开启搜索功能的实现
Nov 15 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
Python通过Pillow实现图片对比
Apr 29 Python
python用字节处理文件实例讲解
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新手上路(十一)
2006/10/09 PHP
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
客户端静态页面玩分页
2006/06/26 Javascript
求得div 下 img的src地址的js代码
2007/02/28 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
Python简易版停车管理系统
2019/08/12 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
pandas apply多线程实现代码
2020/08/17 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
使用Python实现音频双通道分离
2020/12/25 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
企业诚信承诺书
2014/05/23 职场文书
走群众路线剖析材料
2014/10/09 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
小学美术教学反思
2016/02/17 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技