2

我有一个包含记录文件的文件目录。我刚刚访问了一个新目录,该目录具有相同的记录但也有其他文件,但其他文件深埋在其他文件夹中,我找不到它们。所以我的解决方案是让一个python程序运行并删除两个不同目录(和子目录)中重复的所有文件,并保持其他文件不变,这将为我提供我正在寻找的“新文件”。

我见过几个找到重复项的程序,但我不确定它们是如何真正运行的,而且它们没有帮助。

有什么办法可以完成我正在寻找的东西?谢谢!

4

3 回答 3

1

可能的方法:

  1. 从您的原始文件夹创建一组 MD5 哈希。
  2. 递归 MD5 散列新文件夹中的文件,删除任何生成散列的文件,这些文件已经存在于您的集合中。

需要注意的是,两个不同的文件有可能生成相同的哈希。文件有何不同?

于 2012-06-06T19:09:35.640 回答
1

使用 fslint 或一些类似的软件。例如,Fslint 能够为您提供不同文件的列表并将副本硬链接在一起,或删除重复项。如果目录的内部结构相同,一种选择也是仅使用类似 diff 的程序来区分目录。

于 2012-06-06T19:10:20.230 回答
0

他们是否在两个目录中重复的文件具有相同的名称/路径?如果我理解正确,您想查找重复的文件名而不是文件内容?如果是这样,在两棵树中对 os.walk 的“同步”调用可能会有所帮助。

于 2012-06-06T21:49:35.570 回答