通过Python模块filecmp 对文件比较的实现方法


Posted in Python onJune 29, 2018

filecmp定义了两个函数,用于方便地比较文件与文件夹:

    filecmp.cmp(f1, f2[, shallow]):

 比较两个文件的内容是否匹配。参数f1, f2指定要比较的文件的路径。可选参数shallow指定比较文件时是否需要考虑文件本身的属性(通过   os.stat函数可以获得文件属性)。如果文件内容匹配,函数返回True,否则返回False,

import filecmp 
s = filecmp.cmp("qin.txt", "jian.txt") 
print(s)

运行结果如下:

如果俩文件相同则返回True , 如果不同则返回False

    filecmp.cmpfiles(dir1, dir2, common[, shallow]):

 比较两个文件夹内指定文件是否相等。参数dir1, dir2指定要比较的文件夹,参数common指定要比较的文件名列表。函数返回包含3个list元素的元组,分别表示匹配、不匹配以及错误的文件列表。错误的文件指的是不存在的文件,或文件被琐定不可读,或没权限读文件,或者由于其他原因访问不了该文件。

import filecmp 
match,mismatch,errors = filecmp.cmpfiles("qin", "fu",['a.txt','b.txt']) 
print("%s\n%s\n%s"%(match,mismatch,errors))

运行结果如下:

['a.txt'] -- 表示两个文件都有该文件,并且完全匹配
['b.txt'] -- 表示两个文件都有该文件,但是不匹配
[]          -- 表示没有错误的文件

    filecmp模块中定义了一个dircmp类,用于比较文件夹,通过该类比较两个文件夹,可以获取一些详细的比较结果(如只在A文件夹存在的文件列表),并支持子文件夹的递归比较。

    dircmp提供了三个方法用于报告比较的结果:

report():只比较指定文件夹中的内容(文件与文件夹)report_partial_closure():比较文件夹及第一级子文件夹的内容report_full_closure():递归比较所有的文件夹的内容

例子:在文件夹"qin"中含有文件"a.txt", 在文件夹"fu"中含有文件"a.txt"和"b.txt",其两个文件夹下面的文件"a.txt"内容一样,

<span style="font-size: 12px;">import filecmp 
x = filecmp.dircmp("qin","fu") 
diff = x.report() 
print(diff)</span>

输出结果如下:

diff qin fu  
Only in fu: ["b.txt"] 
Identical files: ["qin.txt"] 

如果两个文件夹下面的文件"a.txt"内容不相同那么结果如下:

输出结果如下:

diff qin fu 
Only in fu: ["b.txt"] 
Differing files: ["a.txt"] 

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

总结

以上所述是小编给大家介绍的通过Python模块filecmp 对文件比较的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
tensorflow实现softma识别MNIST
Mar 12 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
Python小进度条显示代码
Mar 05 Python
Python-接口开发入门解析
Aug 01 Python
详解Python打包分发工具setuptools
Aug 05 Python
Python使用Matlab命令过程解析
Jun 04 Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
python利用paramiko实现交换机巡检的示例
Sep 22 Python
如何利用python读取micaps文件详解
Oct 18 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
Python之列表的插入&amp;替换修改方法
Jun 28 #Python
python 寻找list中最大元素对应的索引方法
Jun 28 #Python
对numpy.append()里的axis的用法详解
Jun 28 #Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 #Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 #Python
Python格式化日期时间操作示例
Jun 28 #Python
Python subprocess模块功能与常见用法实例详解
Jun 28 #Python
You might like
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
可兼容php5与php7的cURL文件上传功能实例分析
2018/05/11 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
JavaScript面象对象设计
2008/04/28 Javascript
JS input 数字验证代码
2009/07/30 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
Flexigrid在IE下不显示数据的有效处理方法
2014/09/04 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
python队列原理及实现方法示例
2019/11/27 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
Python里面如何拷贝一个对象
2014/02/17 面试题
求职自荐信
2013/12/14 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
幼儿园见习总结
2015/06/23 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书