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三元运算符实现方法
Dec 17 Python
Python基于smtplib实现异步发送邮件服务
May 28 Python
Python读写txt文本文件的操作方法全解析
Jun 26 Python
Django如何实现内容缓存示例详解
Sep 24 Python
对python程序内存泄漏调试的记录
Jun 11 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
Python Print实现在输出中插入变量的例子
Dec 25 Python
Django如何实现防止XSS攻击
Oct 13 Python
Python机器学习应用之工业蒸汽数据分析篇详解
Jan 18 Python
Python 恐龙跑跑小游戏实现流程
Feb 15 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&&mysql)五
2006/10/09 PHP
php 输出双引号"与单引号'的方法
2010/05/09 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP7新特性
2021/03/09 PHP
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
Vue触发隐藏input file的方法实例详解
2019/08/14 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
Django CBV类的用法详解
2019/07/26 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
公务员年总结的自我评价
2013/10/25 职场文书
创伤外科专业推荐信范文
2013/11/19 职场文书
销售工作岗位职责
2013/12/24 职场文书
征婚广告词
2014/03/17 职场文书
个人贷款担保书
2014/04/01 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
毕业横幅标语
2014/10/08 职场文书
经理岗位职责范本
2015/04/15 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
创业计划书之水果店
2019/07/18 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python