python内置库--filecmp
1 简单介绍
filecmp文件用于比较不同目录下的文件及不同文件的内容
相关函数
filecmp.cmp(f1, f2, shallow=True)
比较名为 f1 和 f2 的文件,如果它们似乎相等则返回 True ,否则返回 False
filecmp.cmpfiles(dir1, dir2, common, shallow=True)
在两个目录 dir1 和 dir2中比较,由参数common确定的一系列文件
返回一个元组: (match, mismatch, errors) 。 match 含有相匹配的文件, mismatch 含有那些不匹配的,然后 errors 列出那些未被比较文件的名称。如果文件不存在于两目录中的任一个,或者用户缺少读取它们的权限,又或者因为其他的一些原因而无法比较,那么这些文件将会被列在 errors 中
例如, cmpfiles('a', 'b', ['c', 'd/e']) 将会比较 a/c 与 b/c 以及 a/d/e 与 b/d/e
dircmp 类
class filecmp.dircmp(a, b, ignore=None, hide=None)
创建一个用于比较目录 a 和 b 的新的目录比较对象。 ignore 是需要忽略的文件名列表,且默认为 filecmp.DEFAULT_IGNORES 。 hide 是需要隐藏的文件名列表,且默认为 [os.curdir, os.pardir],表示当前目录及父目录
dircmp 类如 filecmp.cmp() 中所描述的那样对文件进行 shallow 比较。
dircmp 类提供以下方法:
report()
将 a 与 b 之间的比较结果打印(到 sys.stdout )。
report_partial_closure()
打印 a 与 b 及共同直接子目录的比较结果。
report_full_closure()
打印 a 与 b 及共同子目录比较结果(递归地)。
left
目录 a 。
right
目录 b 。
left_list
经 hide 和 ignore 过滤,目录 a 中的文件与子目录。
right_list
经 hide 和 ignore 过滤,目录 b 中的文件与子目录。
common
同时存在于目录 a 和 b 中的文件和子目录。
left_only
仅在目录 a 中的文件和子目录。
right_only
仅在目录 b 中的文件和子目录。
common_dirs
同时存在于目录 a 和 b 中的子目录。
common_files
同时存在于目录 a 和 b 中的文件。
same_files
在目录 a 和 b 中,文件名和内容相同的文件。
diff_files
在目录 a 和 b 中,名称相同但内容不通过的文件
funny_files
在目录 a 和 b 中无法比较的文件
执行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南