Python模块学习 filecmp 文件比较
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比较文件夹比另一同名文件夹多出的文件并复制出来的方法.分享给大家供大家参考.具体如下: 这个东东本来是做来给公司数据同步用的:新服务器还没正式启用,旧的服务器还在使用,每天都有大量图片传到旧服务器上面,为了避免备份全部图片,所以写了这么个工具. 1. 运行效果如下图所示: 2. Python代码如下: 复制代码 代码如下: # coding=gbk ''' Created on 2011-1-7 @author: HH ''' import os,ConfigParse
-
Python比较两个图片相似度的方法
本文实例讲述了Python比较两个图片相似度的方法.分享给大家供大家参考.具体分析如下: 这段代码实用pil模块比较两个图片的相似度,根据实际实用,代码虽短但效果不错,还是非常靠谱的,前提是图片要大一些,太小的图片不好比较.附件提供完整测试代码和对比用的图片. 复制代码 代码如下: #!/usr/bin/python # Filename: histsimilar.py # -*- coding: utf-8 -*- import Image def make_regalur_image(img
-
Python3.x中自定义比较函数
在Python3.x的世界里,cmp函数没有了.那么sorted,min,max等需要比较函数作为参数的函数该如何用呢? 以min函数的定义为例,有两种重载形式: 单参数(一个迭代器): 复制代码 代码如下: min(iterable[, key=func]) -> value 多参数(多个待比较内容): 复制代码 代码如下: min(a, b, c, ...[, key=func]) -> value 本文主要讨论key=func参数的使用 .举例说明吧: 1.自定义对象的比较 我定义了一个
-
Python合并两个字典的常用方法与效率比较
本文实例讲述了Python合并两个字典的常用方法与效率比较.分享给大家供大家参考.具体分析如下: 下面的代码举例了5种合并两个字典的方法,并且做了个简单的性能测试 #!/usr/bin/python import time def f1(d1, d2): return dict(d1, **d2) def f2(d1, d2): return dict(d1.items() + d2.items()) def f3(d1, d2): d = d1.copy() d.update(d2) retu
-
Python实现比较两个文件夹中代码变化的方法
本文实例讲述了Python实现比较两个文件夹中代码变化的方法.分享给大家供大家参考.具体如下: 这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件 # -*- coding: utf-8 -*- import os; folderA = "F:\\Projects\\FreeImageV3_14_1\\".lower(); folderB = u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\&q
-
python文件比较示例分享
复制代码 代码如下: # 比较两个字符串,如果不同返回第一个不相同的位置# 如果相同返回0def cmpstr(str1, str2): col = 0 for c1, c2 in zip(str1, str2): if c1 == c2: col += 1 continue else : break #判断是怎样退出循环的,还有一种情况是串长度不同 if c1 != c2 or le
-
python实现比较两段文本不同之处的方法
本文实例讲述了python实现比较两段文本不同之处的方法.分享给大家供大家参考.具体实现方法如下: # find the difference between two texts # tested with Python24 vegaseat 6/2/2005 import difflib text1 = """The World's Shortest Books: Human Rights Advances in China "My Plan to Find th
-
python比较2个xml内容的方法
本文实例讲述了python比较2个xml内容的方法.分享给大家供大家参考.具体分析如下: from xml.etree import ElementTree OK=True main_pid = 10000 loop_depth = 0 def compare_xml(left, right, key_info='.'): global loop_depth loop_depth += 1 if loop_depth == 1: print if left.tag != right.tag: p
-
Python模块学习 filecmp 文件比较
filecmp定义了两个函数,用于方便地比较文件与文件夹: filecmp.cmp(f1, f2[, shallow]): 比较两个文件的内容是否匹配.参数f1, f2指定要比较的文件的路径.可选参数shallow指定比较文件时是否需要考虑文件本身的属性(通过os.stat函数可以获得文件属性).如果文件内容匹配,函数返回True,否则返回False. filecmp.cmpfiles(dir1, dir2, common[, shallow]): 比较两个文件夹内指定文件是否相等.参数dir1
-
Python模块学习 datetime介绍
相比于time模块,datetime模块的接口则更直观.更容易调用.今天就来讲讲datetime模块. datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最小.最大年份.其中,MINYEAR = 1,MAXYEAR = 9999.(对于偶等玩家,这个范围已经足够用矣~~) datetime模块定义了下面这几个类: •datetime.date:表示日期的类.常用的属性有year, month, day: •d
-
Python模块学习 re 正则表达式
re.match re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词. 复制代码 代码如下: import re text = "JGood is a handsome boy, he is cool, clever, and so on..." m = re.match(r"(\w+)\s", text) if m: print m.group(0), '\n', m.group(1) else: print 'not match' r
-
python模块如何查看
对于编译型的语言,比如C#中的一个.cs文件,Java中的一个.java或者编译后的.class文件可以认为是一个模块(但常常不表述为模块):对于解释型的语言会更加直观些,比如PHP的.php文件,在Python中就是.py文件可以认为是一个模块.在"模块"之上有"包",主要是为了方便组织和管理模块.比如C#中编译后的.dll文件(但常常不表述为包Package,而是库Library),Java将.class打包后的.jar文件,PHP的.phar文件(模仿Java
-
通过Python模块filecmp 对文件比较的实现方法
filecmp定义了两个函数,用于方便地比较文件与文件夹: filecmp.cmp(f1, f2[, shallow]): 比较两个文件的内容是否匹配.参数f1, f2指定要比较的文件的路径.可选参数shallow指定比较文件时是否需要考虑文件本身的属性(通过 os.stat函数可以获得文件属性).如果文件内容匹配,函数返回True,否则返回False, import filecmp s = filecmp.cmp("qin.txt", "jian.txt&quo
-
Python用于学习重要算法的模块pygorithm实例浅析
本文实例讲述了Python用于学习重要算法的模块pygorithm.分享给大家供大家参考,具体如下: 这是一个能够随时学习重要算法的Python模块,纯粹是为了教学使用. 特点 易于使用 容易理解的文档 快速获取算法的源代码 随时获取时间复杂度 安装 仅需在终端中执行以下命令: pip3 install pygorithm *如果你使用的是Python 2.7,请使用pip来安装.如果存在用户权限的限制,你可能需要使用pip install --user pygorithm这个命令来安装. 或者
-
Python socket模块ftp传输文件过程解析
这篇文章主要介绍了Python socket模块ftp传输文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用环境:python3,window环境,需要在头部声明# -*- coding:utf-8 -*- 实现功能: 将sever端所处文件夹的文件,传输到client端所处的文件夹中. 并且通过md5检测是否出错. 客户端命令的形式是: get 文件名 client处的新文件是 文件名.new ftp_sever.py impo
-
python爬虫学习笔记之Beautifulsoup模块用法详解
本文实例讲述了python爬虫学习笔记之Beautifulsoup模块用法.分享给大家供大家参考,具体如下: 相关内容: 什么是beautifulsoup bs4的使用 导入模块 选择使用解析器 使用标签名查找 使用find\find_all查找 使用select查找 首发时间:2018-03-02 00:10 什么是beautifulsoup: 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.(官方) beautif
-
python爬虫学习笔记之pyquery模块基本用法详解
本文实例讲述了python爬虫学习笔记之pyquery模块基本用法.分享给大家供大家参考,具体如下: 相关内容: pyquery的介绍 pyquery的使用 安装模块 导入模块 解析对象初始化 css选择器 在选定元素之后的元素再选取 元素的文本.属性等内容的获取 pyquery执行DOM操作.css操作 Dom操作 CSS操作 一个利用pyquery爬取豆瓣新书的例子 首发时间:2018-03-09 21:26 pyquery的介绍 pyquery允许对xml.html文档进行jQuery查询
-
python基础学习之组织文件
一.Shutil 模块 shutil其实也就是shell模块.其中包含一些函数,可以让我们在python程序中复制.移动.改名和删除文件. 1.1 复制文件和文件夹 shutil.copy(source,destination):将路径source处的文件复制到路径destination处的文件夹.如果destination是一个文件名,那么它将作为被复制的新名字 shutil.copytree(source,destination):将路径source处的文件夹,包括它的所有文件和子文件夹,复
随机推荐
- 在Ubuntu 14.04上部署 PHP 环境及 WordPress
- js获取窗口相对于屏幕左边和上边的位置坐标
- js正则表达式讲解之index属性(RegExp对象)
- Python入门篇之列表和元组
- 编写Python脚本批量配置VPN的教程
- thinkphp实现数组分页示例
- php对二维数组进行相关操作(排序、转换、去空白等)
- Asp 使用 Microsoft.XMLHTTP 抓取网页内容并过滤需要的
- C语言的冒泡排序和快速排序算法使用实例
- C++归并算法实例
- 关于session在PHP5的配置文件中的详细设置参数说明
- THINKPHP2.0到3.0有哪些改进之处
- 粗略分析Python中的内存泄漏
- Powershell小技巧之创建一个新对象
- linux下安装oracle后使用命令行启动的方法 linux启动oracle
- javascript 全角转换实现代码
- Android 实现闪屏页和右上角的倒计时跳转实例代码
- java 四舍五入保留小数的实现方法
- php短址转换实现方法
- Zend Framework实现具有基本功能的留言本(附demo源码下载)