标签: python algorithm
我将在python上实现递归文件夹比较。您认为最好的算法是什么?
结果我只需要获取不同文件的列表(这里不需要内容差异),其中一个类似文件夹中缺少的文件列表。
谢谢。
答案 0 :(得分:2)
对目录进行递归搜索,并对每个文件存储md5或字典中的文件的校验和作为键,将路径/名称作为值。为这两个目录创建这个字典。然后,您可以从每个目录中删除对,并且结果丢失/不同的文件。
这将生成简单的O(n)算法,其中n是目录的卷。
答案 1 :(得分:1)
如果我是你,我会检查其他软件是否还没有实现此功能,例如rsync或diff。对于我所看到的,两者都具有您需要的功能。有关它的更多信息here。
rsync
diff
如果你真的需要在Python中这样做,我会略微修改你的算法,使它看起来像这样: