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 命令行非阻塞输入的小例子
Sep 27 Python
详解Python各大聊天系统的屏蔽脏话功能原理
Dec 01 Python
python读取二进制mnist实例详解
May 31 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
Apr 05 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 Python
深入了解Python 变量作用域
Jul 24 Python
Python的logging模块基本用法
Dec 24 Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 Python
pandas中DataFrame检测重复值的实现
May 26 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实现简单的增删改查功能
2015/07/13 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
jQuery插件 tabBox实现代码
2010/02/09 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
Python实现的几个常用排序算法实例
2014/06/16 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
浅谈python中get pass用法
2019/03/19 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
先进教师个人事迹材料
2014/12/15 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
入党申请书格式
2019/06/20 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript