Amy 原创整理|资料核验:2026-11-03
Python filecmp.cmp的shallow默认True。官方说明,若两个文件的类型、大小和修改时间等stat签名一致,就会把它们视为相等;因此,不能把默认True结果直接描述成已经逐字节核验。
需要比较内容时,可明确设置shallow=False。文档还说明比较结果存在缓存,stat信息变化时会失效,也可用clear_cache清除缓存。
Amy建议校验备份时,把“快速筛查元信息”和“比较内容”写成不同检查步骤,保存所用参数,而不是只记一个相同或不同。短时间内反复修改测试文件,也要留意缓存与时间戳。
另外,cmpfiles会分别返回匹配、不匹配、无法比较三类文件;权限或文件缺失造成的错误,不应混写成内容不同。