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实现截屏的函数
Jul 25 Python
浅谈Python 的枚举 Enum
Jun 12 Python
tensorflow更改变量的值实例
Jul 30 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
python之生产者消费者模型实现详解
Jul 27 Python
python实现猜拳游戏
Mar 04 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
python将音频进行变速的操作方法
Apr 08 Python
TensorFlow打印输出tensor的值
Apr 19 Python
python爬虫 requests-html的使用
Nov 30 Python
python 实现逻辑回归
Dec 30 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 上传文件大小限制
2009/07/05 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
Python线性方程组求解运算示例
2018/01/17 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
python中int与str互转方法
2018/07/02 Python
python实现决策树分类(2)
2018/08/30 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
冰淇淋店创业计划书范文
2013/12/27 职场文书
清正廉洁演讲稿
2014/05/22 职场文书
村党支部公开承诺书
2014/05/29 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
水电工程师岗位职责
2015/02/13 职场文书
2016年元旦寄语
2015/08/17 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
httpclient调用远程接口的方法
2022/08/14 Java/Android