filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单。python标准库还提供了difflib模块用于比较文件的内容。关于difflib模块,且听下回分解。
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吧~~
分享到:
相关推荐
filecmp定义了两个函数,用于方便地比较文件与文件夹: filecmp.cmp(f1, f2[, shallow]): 比较两个文件的内容是否匹配。参数f1, f2指定要比较的文件的路径。可选参数shallow指定比较文件时是否需要考虑文件本身的...
利用`filecmp`模块可以实现文件内容的比较、文件夹中文件匹配情况的分析,以及文件夹内部结构的递归比较。 首先,我们来看如何使用`filecmp`模块比较两个文件是否内容相同。这可以通过`cmp`函数实现。`cmp`函数接受...
2. 使用filecmp模块:该模块提供了两个函数,filecmp.cmp()用于比较两个文件是否内容相同,filecmp.dircmp()用于比较两个目录及其内容。 3. 自定义比较方法:通过逐行读取文件内容并进行字符串比较,或者使用哈希...
python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10....
可以使用filecmp模块的filecmp.cmp()函数,或者直接读取文件内容进行比较。 4. 处理策略:找到重复文件后,可以设定保留一个原文件,删除其余的。也可以根据文件的修改时间、创建时间等因素决定保留哪个。 三、...
20. **filecmp**:用于比较文件和目录,检测它们是否相同。 21. **tempfile**:生成临时文件和目录,自动清理。 22. **pickle**:序列化和反序列化Python对象,用于持久化存储。 23. **shutil**:提供高级文件和...
包括:difflib 比对两个文件的区别用html高亮展示类似于git,dns操作python,fabric高效的ssh远程服务库,filecmp文件内容比对,func模块示例 python自定义模块,hadoop Python大数据分析示例,OMAudit 安全审计功能...
在Python中,`filecmp.dircmp` 是一个强大的工具,用于比较两个目录的内容。这个模块提供了 `dircmp` 类,可以递归地对比两个目录及其子目录,找出它们之间的差异。下面我们将详细探讨如何使用 `filecmp.dircmp` 来...
Python的标准库中有一个名为`difflib`的模块,它提供了与filecmp类似的功能,可以方便地在Python代码中进行文件比较。这对于自动化任务尤其有价值,可以将比较结果集成到更复杂的流程中。 在filecmp-0.1这个版本中...
Python的`filecmp`模块提供了文件和目录的比较功能。`filecmp.cmp()`函数可以比较两个文件是否内容相同。它接受两个文件路径作为参数,并返回一个布尔值,表示文件内容是否一致。 下面是一个简单的示例,展示如何...
### Python3.6.5标准库文档概览 #### 标准库的作用及构成 Python标准库是一个极其丰富且强大的工具集,它包含了...通过学习和理解这些模块和功能,开发者能够更加高效地利用Python来解决问题,构建高质量的应用程序。
能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。 2、IPy...5、filecmp:系统自带,可以实现文件,目录,遍历子目录的差异,对比
68. **distutils**: 用于构建和安装Python模块。 69. **venv**: 创建虚拟环境,隔离不同项目依赖。 70. **sys**: 提供系统相关的参数和函数,如加载模块、退出程序等。 71. **gc**: 垃圾回收器接口,管理内存清理...
3. **文件和I/O操作**:io模块提供了统一的I/O接口,fileinput和filecmp用于文件输入和比较,shutil则提供了高级文件操作,如复制、移动和解压。 4. **数据结构**:collections模块包含了一些高级数据结构,如...
3. **标准库**:提供大量预装模块,如os、sys、math、time、filecmp等,用于文件操作、网络通信、数学计算等任务。 4. **异常处理**:提供了异常类和异常处理机制,使得程序可以优雅地处理错误和异常情况。 5. **...
这个过程涉及到几个关键的Python模块和技术,包括`os`、`glob`和`filecmp`。下面将详细讲解这些知识点。 首先,`os`模块是Python内建的与操作系统交互的模块,它提供了大量的函数来处理文件和目录。在本例中,`os....
为了比较文件内容,我们可以使用`filecmp.cmp()`函数,该函数会比较两个文件是否相同: ```python import filecmp def compare_files(file1, file2): return filecmp.cmp(file1, file2, shallow=False) ``` `...