标准库中的 filecmp 模块包含一个dircmp 类,它有两个相似的属性:
common_funny:
a 和 b 中的名称,以便目录之间的类型不同,或者 os.stat() 报告错误的名称。
有趣的文件:
位于 a 和 b 中但无法比较的文件。
什么会导致文件或目录出现在 common_funny 中?什么会导致文件或目录出现在funny_files 中?
common_funny
如果两个文件的类型不匹配(例如,一个是文件,另一个是目录),或者它不是可识别的类型,或者 os.stat 崩溃,则附加到该文件。仅在查看文件名和类型时,它们会在第一遍中返回。
funny_files
由dircmp
认为可以比较但由于某种原因无法读取的文件制成 - 读取时可能出现某种 os.error(例如权限被拒绝)。当实际尝试查看文件中的差异时(实际运行时filecmp.cmp
),这些将在第二遍中返回。
我不知道filecmp 模块- 感谢您引起我的注意!