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. 如何高效的使用-Notepad++

    Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码.Notepad++ 不仅有语法高亮度显示,也有语法折叠 ...

  2. HDU4283(KB22-G)

    You Are the One Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  3. 使用ThinkPHP实现生成/校验验证码功能

    首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数 1:check() 校验验证码是否正确 2:entry()输 ...

  4. 排序算法(7)--exchang Sorting--交换排序[2]--Quick Sort--快速排序

    1.基本思想 从待排序列中选取一元素作为轴值(也叫主元). 将序列中的剩余元素以该轴值为基准,分为左右两部分.左部分元素不大于轴值,右部分元素不小于轴值.轴值最终位于两部分的分割处. 对左右两部分重复 ...

  5. 设计模式(14)--Command(命令模式)--行为型

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.模式定义:   命令模式属于对象的行为模式.命令模式又称为行动(Action)模式或交易(Transactio ...

  6. 【代码笔记】iOS-给密码进行加密

    一,工程图. 二,代码. #import "ViewController.h" #import "Base64CodeByteFunc.h" @interfac ...

  7. element-ui table

    额,最近有点频繁记录.感觉遇到了很多的问题.然后不断的查,不断的尝试修改.然后得到解决.还是记录关于element-ui的使用.这次是关于表格的使用. 表格使用其实平时用的话也就那么几个属性.虽然官网 ...

  8. my big day is coming!

    明天博士学位论文答辩,给自己加油! 期望一切顺利!

  9. JavaScript Math对象方法

    console.log(Math.abs(123));//绝对值 console.log(Math.ceil(123.3));//向上舍入 console.log(Math.floor(123));/ ...

  10. Vue -- vue-cli(vue脚手架) npm run build打包优化

    这段时间公司新项目立项,开发组选用 Vue2.0 进行开发.当然也就一并用到 vue cli 进行自动化构建.结果在基础版本开发完成后,用 npm run build 命令打包上线时,发现以下几个问题 ...