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 相关文章推荐
Python3中使用PyMongo的方法详解
Jul 28 Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 Python
python一键去抖音视频水印工具
Sep 14 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
Python实现Singleton模式的方式详解
Aug 08 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
使用Python求解带约束的最优化问题详解
Feb 11 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
深入了解Python 变量作用域
Jul 24 Python
python 录制系统声音的示例
Dec 21 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
php无限极分类实现方法分析
2019/07/04 PHP
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
centos下更新Python版本的步骤
2013/02/12 Python
python使用cookie库操保存cookie详解
2014/03/03 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
Python程序控制语句用法实例分析
2020/01/14 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
python的dict判断key是否存在的方法
2020/12/09 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
十八大宣传标语
2014/10/09 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
校长师德表现自我评价
2015/03/05 职场文书
导游词之安徽九华山
2019/09/18 职场文书