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下使用Psyco模块优化运行速度
Apr 05 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
Aug 30 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
Python写捕鱼达人的游戏实现
Mar 31 Python
python 在sql语句中使用%s,%d,%f说明
Jun 06 Python
Python descriptor(描述符)的实现
Nov 15 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格式化json函数示例代码
2016/05/12 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP中list方法用法示例
2016/12/01 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
Python3实现并发检验代理池地址的方法
2016/09/18 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
年度考核自我鉴定
2013/11/09 职场文书
学生自我鉴定
2013/12/18 职场文书
金融管理应届生求职信
2014/02/20 职场文书
会员活动策划方案
2014/08/19 职场文书
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript