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之简单主机批量管理工具
Jan 27 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
梅尔倒谱系数(MFCC)实现
Jun 19 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
Python统计时间内的并发数代码实例
Dec 28 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
Python中SQLite如何使用
May 27 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
利用python+request通过接口实现人员通行记录上传功能
Jan 13 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Apr 24 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
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
PHP一些有意思的小区别
2006/12/06 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
python学生管理系统代码实现
2020/04/05 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
python程序需要编译吗
2020/06/19 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
英语专业推荐信
2013/11/16 职场文书
机电一体化职业规划书
2014/01/07 职场文书
广告宣传策划方案
2014/05/21 职场文书
公证委托书标准格式
2014/09/11 职场文书
大学生学年个人总结
2015/02/15 职场文书
离婚起诉书范本
2015/05/18 职场文书
诉讼和解协议书
2016/03/23 职场文书
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL