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. JAVA设计模式详解(六)----------状态模式

    各位朋友,本次LZ分享的是状态模式,在这之前,恳请LZ解释一下,由于最近公司事情多,比较忙,所以导致更新速度稍微慢了些(哦,往后LZ会越来越忙=.=). 状态模式,又称状态对象模式(Pattern o ...

  2. instanceof与constructor的区别

    名词介绍 instanceof 的作用是判断实例对象是否为构造函数的实例,实际上判断的是实例对象的__proto__属性与构造函数的prototype属性是否指向同一引用: constructor 的 ...

  3. Express 框架

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具.使用 Express 可以快速地搭建一个完整功能的网站 ...

  4. 【代码笔记】iOS-TableViewOfTwoSecton

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  5. 取消Fetch API请求

    如今,Fetch API已经成为现在浏览器异步网络请求的标准方法,但Fetch也是有弊端的,比如: Fetch还没有方法终止一个请求,而且Fetch无法检测上传进度 现在我们可以通过 AbortCon ...

  6. php实现头像预览上传功能

    最近在做php第二阶段的项目,需要用到头像上传的功能 我们要完成头像上传功能,一共要写两个php页面,第一个页面我们叫做touxiang.php,第二个页面我们叫做upload.php 1.touxi ...

  7. ionic左滑删除

    <html ng-app="ionicApp"> <head> <meta charset="utf-8"> <met ...

  8. Nlog.Config:日志方法步骤

    首先添加negut包Nlog.Config: 安装完毕以后,可以替换Nlog.config <?xml version="1.0" encoding="utf-8& ...

  9. MySQL安全策略

    0.导读 MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证MySQL的数据安全? MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证M ...

  10. linux常见问题解决

    1.登录环境故障的原理及解决办法? -bash-4.1$ -bash-4.1$ cp /etc/skel/.bash* .