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 随机生成中文验证码的实例代码
Mar 20 Python
Python2.x版本中maketrans()方法的使用介绍
May 19 Python
Python数据类型详解(四)字典:dict
May 12 Python
Python面向对象编程基础解析(一)
Oct 26 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
Aug 30 Python
Pycharm设置去除显示的波浪线方法
Oct 28 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
opencv设置采集视频分辨率方式
Dec 10 Python
python入门之基础语法学习笔记
Feb 08 Python
python数字图像处理之对比度与亮度调整示例
Jun 28 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
PHP chr()函数讲解
2019/02/11 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
详解JavaScript正则表达式之分组匹配及反向引用
2016/03/09 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的time模块与datetime模块用法总结
2016/06/30 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
珍惜水资源建议书
2014/03/12 职场文书
股东合作协议书
2014/09/12 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers