10

我正在使用 Python 2.6.2。filecmp 模块的文档说:

filecmp 模块定义了比较文件和目录的函数,以及各种可选的时间/正确性权衡。

并且,对于 filecmp.cmp 函数:

文件cmp.cmp(f1,f2 [,浅])

比较名为 f1 和 f2 的文件,如果它们看起来相等则返回 True,否则返回 False。

除非给定了 shallow 并且是假的,否则具有相同 os.stat() 签名的文件被认为是相等的。

他们不做的是指定一个人获得的正确性级别是什么shallow=False。那么,有什么作用shallow=False呢?它有多正确?

4

1 回答 1

13

咨询消息人士filecmp.py透露,如果是shallow=Falsefilecmp.cmp首先检查几个select属性os.stat(),不管shallowTrue还是False。如果检查的 stat 属性相同,则返回True. 否则,它会检查其内部缓存以查看文件是否已在之前进行过比较。如果有,则返回True. 否则,它会BUFSIZE = 8*1024从两个文件中读取大块数据并进行精确的内容比较,直到到达文件末尾。True如果两个文件的内容完全相同,则返回。

于 2010-08-06T06:38:48.437 回答