在python的文件cmp.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
......
因此,当shall为true时,此函数只比较两个文件的名称、mtime(修改时间)和file mode。 对我来说,如果这些文件实际上是一个文件,它们肯定是相同的。如果它们不是一个文件,那么我认为修改时间不可能相同。在
那么,当shall=1时,函数的唯一用法是检查我们比较的两个文件是否实际上是一个文件~。。我敢肯定我的猜测是错的,python的库中不会有这样的胡言乱语。。在
请有人告诉我在什么情况下文件cmp.cmp(f1,f2,shall=1)是否有用?在
你看错了。如果
shallow
处于打开状态,并且文件的os.stat()
签名不同,则函数不会返回False
。相反,该函数继续进行进一步的检查。在相关问题 更多 >
编程相关推荐