在python的filecmp.py中,有cmp函数
def cmp(f1, f2, shallow=1):
s1 = _sig(os.stat(f1))
s2 = _sig(os.stat(f2))
if s1[0] != stat.S_IFREG or s2[0] != stat.S_IFREG:
return False
if shallow and s1 == s2:
return True
if s1[1] != s2[1]:
return False
#content compare
......
因此,当shallow为true时,此函数仅比较两个文件的名称,mtime(修改时间)和文件模式。 好吧,对我来说,如果文件实际上是一个文件,这些肯定是一样的。如果它们不是一个文件,那么我认为修改时间是不可能的。
然后,当浅层= 1时,恕我直言这个函数的唯一用法是检查我们比较的两个文件是否实际上是一个文件〜..而且我确定我猜错了,python不会有这样的废话它的lib ..
请有人告诉我filecmp.cmp(f1,f2,shallow = 1)在什么条件下会有用?
答案 0 :(得分:0)
你误读了它。如果启用shallow
且文件“os.stat()
签名不同,则该函数不会返回False
。相反,该功能继续进行进一步检查。