filecmp 模块,定义了比较文件或目录的函数,比较文件只会有 True 和 False 两种结果,比较目录会返回目录下相同的文件,不同的文件,出错的文件。比较文件也可以用 difflib 模块,difflib 模块着重于文件内容的深入比较,若只比较两个文件是否相同,而不在意哪里不相同,则应该选择此模块。

模块方法:

filecmp.cmp(f1, f2[, shallow]):比较 f1,f2 两个文件,shallow 为 True,则只比较 os.stat 的返回结果,否则还要比较文件的内容
filecmp.cmpfiles(dir1, dir2, common[, shallow]):比较 dir1,dir2 两个文件夹下,指定在 common 参数中的文件,shallow 同上
filecmp.clear_cache():清除文件比较缓冲区。当比较的文件不断地快速修改时,就可以使用这个函数来更新文件的信息

模块的类:

dircmp(a, b[, ignore[, hide]]):构建一个比较目录的对象,ignore 指定需要忽略不比较的文件,hide 指定隐藏的文件(不知道具体指什么)。对目录下文件的比较是通过浅比较进行的,即 filecmp.cmp(f1,f2,shallow=1)

类的方法:

report():打印 a 和 b 之间的比较结果到系统sys.stdout输出,只比较两者目录下的东西
report_partial_closure():打印目录 a 和 b ,以及公共的子目录的比较结果到系统sys.stdout输出
report_full_closure():递归所有目标,包括子目录,把结果比较输出

类的属性:

left,right:分别返回 a,b 的值
left_list,right_list:分别返回 a,b 的目录下的东西
left_only,right_only:仅在目录 a 或 b 出现的文件和子目录
common:目录 a,b 都有的公共文件和子目录
common_dirs:在目录 a,b 都出现的子目录
common_files:在目录 a,b 都出现的文件
common_funny:返回在 a,b 中都存在的文件名,但他们的文件格式可能不同,或是 os.stat() 报错的文件
same_files:比较目录 a,b 里相同的目录或文件,通过os.stat()比较
diff_files:比较目录 a,b 里不同的目录或文件,通过文件内容比较
funny_files:返回在 a,b 中都存在的文件,但没法进行比较
subdirs:返回子目录字典,字典的 key 为子目录名称,value 为 dircmp 对象

Python2.7-filecmp的更多相关文章

  1. SSTI Flask

    1.什么是SSTI?什么是Flask? ​ SSTI称为服务端模板注入,主要为Python.Java.PHP的框架在使用渲染函数时,由于代码不规范或者对于用户输入过于信任而导致产生了SSTI.类似于S ...

  2. 让VIM支持Python2 by update-alternatives

    前言  Ubuntu 16+中$ sudo apt install vim所安装的vim只支持Python3,但很多插件如YCM和powerline均需要Python2,那就来场"生命贵在折 ...

  3. 烂泥:python2.7和python3.5源码安装

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天在centos6.6安装ansible时,一直提示python版本不对,导致不能安 ...

  4. python版本随意切换之python2.7+django1.8.7+uwsgi+nginx源码包部署。

    资源准备: wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz wget https://www.djangoproject ...

  5. windows XP上实现python2.7.5和python3.4.3共存

    windows XP上实现python2.7.5和python3.4.3共存过程记录: 1. 首先安装python2.7.5和python3.4.3,两个版本安装顺序不分前后; 2. 检查系统环境变量 ...

  6. Python2 基本数据结构源码解析

    Python2 基本数据结构源码解析 Contents 0x00. Preface 0x01. PyObject 0x01. PyIntObject 0x02. PyFloatObject 0x04. ...

  7. Ubuntu安装Python2.7,nodejs

    安装Python2.7 sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7sudo apt-get update sudo apt-get ...

  8. Windows下安装python2和python3双版本

    现在大家常用的桌面操作系统有:Windows.Mac OS.ubuntu,其中Mac OS 和 ubuntu上都会自带python.这里我们只介绍下Windows(我用的Win10)环境下的pytho ...

  9. [python]CentOS 6下安装Python2.7

    安装方法 如果在CentOS上自己编译安装过python2.7,使用过程中会发现有些标准库没有安装之类的问题. 逛别人博客的时候发现,一个便捷的方法:使用RHSCL的全称是Red Hat Softwa ...

  10. 在CentOS 6.5上安装python2.7

    1.yum groupinstall “Development tools” 2.安装编译Python需要的组件 yum install zlib-devel bzip2-devel openssl- ...

随机推荐

  1. python学习之老男孩python全栈第九期_day011知识点总结

    # 装饰器的形成的过程:最简单的装饰器:有返回值的:有一个参数的:万能参数# 装饰器的作用# 原则:开放封闭原则# 语法糖# 装饰器的固定模式:# def wrapper(f): # 装饰器函数,f是 ...

  2. django-全文检索

    全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 需要的第三方库: haystack:django的一个包,可以方便地对model里面的内容进行索引.搜索,设计为 ...

  3. 本地服务器搭建服务:mysql

    话不多少,mysql的优劣不再此讨论. 1.官网地址:https://dev.mysql.com/downloads/mysql/ 下载页面直接  No thanks,just start my do ...

  4. MySQL入门详解(二)---mysql事务、锁、以及优化

    MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在一个商城系统中,用户执行购买操作,那么用户订单中应该加一条,库存要减一条,如果这两步由于意外只进行了其中一步那么就会发生很大的问题.而事 ...

  5. Flex布局的学习经验

    做为css布局的又一种新方式,Flex拥有极强的使用效果,相比原来的float,position对元素样式的操作更加简洁,本文是我的一点学习经验和心得吧,如有错误以及不足之处,请多多指点. 好进入正题 ...

  6. AngularJS学习之 angular-file-upload控件使用方法

    1.官方链接 https://github.com/nervgh/angular-file-upload 2.安装到项目中 bower install angular-file-upload(安装完成 ...

  7. 使用标准C读取文件遇到的结构体对齐问题及其解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 同事使用标准C库读取文件,发现总是读取不对,让我帮忙看一下. 原来他定义了如下一个结构体: // 定义块的结构 typ ...

  8. Memcached+WebApi记录

    一.安装Memcached Memcached1.2.6 http://files.cnblogs.com/files/jasonduan/11465401756756.zip Memcached.C ...

  9. Asp Url汉字乱码的问题

    1.js <a target="_blank" href="/asp/download.asp?File=' + escape(item.FileName) + ' ...

  10. 从零自学Java-4.使用字符串来交流

    1.使用字符串来存储文本: 2.在程序中显示字符串: 3.在字符串中包含特殊的字符: 4.拼接字符串: 5.在字符串中包含变量: 6.比较字符串: 7.判断字符串的长度: 程序Credits:显示一部 ...