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实现模拟按键,自动翻页看u17漫画
Mar 17 Python
python同时给两个收件人发送邮件的方法
Apr 30 Python
Python模块文件结构代码详解
Feb 03 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 Python
详解使用python爬取抖音app视频(appium可以操控手机)
Jan 26 Python
python 中的@运算符使用
May 26 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 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生成的一个树叶图片画图例子
2014/04/16 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
php实现微信支付之退款功能
2018/05/30 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
python打开网页和暂停实例
2014/09/30 Python
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
Python中动态检测编码chardet的使用教程
2017/07/06 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python实现自动发送邮件功能
2021/03/02 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
Django框架模板用法入门教程
2019/11/04 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
Python上下文管理器全实例详解
2019/11/12 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
环境工程求职简历的自我评价范文
2013/10/24 职场文书
致400米运动员广播稿
2014/02/07 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
js实现自动锁屏功能
2021/06/02 Javascript