Python模块学习 filecmp 文件比较


Posted in Python onAugust 27, 2012

filecmp定义了两个函数,用于方便地比较文件与文件夹:

filecmp.cmp(f1, f2[, shallow]):

比较两个文件的内容是否匹配。参数f1, f2指定要比较的文件的路径。可选参数shallow指定比较文件时是否需要考虑文件本身的属性(通过os.stat函数可以获得文件属性)。如果文件内容匹配,函数返回True,否则返回False。

filecmp.cmpfiles(dir1, dir2, common[, shallow]):

比较两个文件夹内指定文件是否相等。参数dir1, dir2指定要比较的文件夹,参数common指定要比较的文件名列表。函数返回包含3个list元素的元组,分别表示匹配、不匹配以及错误的文件列表。错误的文件指的是不存在的文件,或文件被琐定不可读,或没权限读文件,或者由于其他原因访问不了该文件。

filecmp模块中定义了一个dircmp类,用于比较文件夹,通过该类比较两个文件夹,可以获取一些详细的比较结果(如只在A文件夹存在的文件列表),并支持子文件夹的递归比较。

dircmp提供了三个方法用于报告比较的结果:

•report():只比较指定文件夹中的内容(文件与文件夹)
•report_partial_closure():比较文件夹及第一级子文件夹的内容
•report_full_closure():递归比较所有的文件夹的内容
dircmp还提供了下面这些属性用于获取比较的详细结果:

•left_list:左边文件夹中的文件与文件夹列表;
•right_list:右边文件夹中的文件与文件夹列表;
•common:两边文件夹中都存在的文件或文件夹;
•left_only:只在左边文件夹中存在的文件或文件夹;
•right_only:只在右边文件夹中存在的文件或文件夹;
•common_dirs:两边文件夹都存在的子文件夹;
•common_files:两边文件夹都存在的子文件;
•common_funny:两边文件夹都存在的子文件夹;
•same_files:匹配的文件;
•diff_files:不匹配的文件;
•funny_files:两边文件夹中都存在,但无法比较的文件;
•subdirs:我没看明白这个属性的意思,python手册中的解释如下:A dictionary mapping names in common_dirs to dircmp objects

简单就是美!我只要文件比较的结果,不想去关心文件是如何是比较的,hey,就用python吧~~

Python 相关文章推荐
python访问系统环境变量的方法
Apr 29 Python
python实现识别相似图片小结
Feb 22 Python
浅谈Python peewee 使用经验
Oct 20 Python
python实现简易版计算器
Jun 22 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
python3中zip()函数使用详解
Jun 29 Python
python 获取页面表格数据存放到csv中的方法
Dec 26 Python
python 梯度法求解函数极值的实例
Jul 10 Python
对Django中内置的User模型实例详解
Aug 16 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
TensorFlow打印输出tensor的值
Apr 19 Python
Python语言规范之Pylint的详细用法
Jun 24 Python
Python模块学习 datetime介绍
Aug 27 #Python
Python运行的17个时新手常见错误小结
Aug 07 #Python
Python 代码性能优化技巧分享
Aug 07 #Python
Python正则表达式介绍
Aug 06 #Python
python 实现文件的递归拷贝实现代码
Aug 02 #Python
python实现划词翻译
Apr 23 #Python
Python程序语言快速上手教程
Jul 18 #Python
You might like
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
python集合能干吗
2020/07/19 Python
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
党校学习个人总结
2015/02/15 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
代码复现python目标检测yolo3详解预测
2022/05/06 Python
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers