【发布时间】:2014-09-22 22:31:23
【问题描述】:
这是课堂作业的一个组成部分,所以如果我不能按需要深入,我深表歉意。
总而言之,我需要编写一个 python 函数来分组所有相同的文件(即具有相同内容但文件名不同的文件)。将它们分组的目的是最终创建一个类型为 {string: list} 的字典,其中列表是相同文件的组,而键(字符串)只是按字母顺序排序时组中的第一个条目。我们得到一个文件目录。
到目前为止,我有一个使用 glob 遍历每个文件的程序,并且我还使用 filecmp.cmp(file1,file2) 来查找相同的文件。我正在努力的是成功比较最多 1000 个文件所需的逻辑。我确信有一种更 Python 的方式来完成这项任务,而不是将 file1 与 file2、file1 与 file3 等进行比较。
总之,我知道如何遍历文件列表,并且知道如何在拥有相同文件组后创建字典......我只是有点迷失如何有效地获取文件组文件。
示例实现 有 7 个文件:A、AA、AAA、B、BB、C、D。文件 A、AA 和 AAA 相同,B 和 BB 相同,而 C 和 D 是唯一的。我的最终字典应该是:
{'A': [A, AA, AAA], 'B': [B, BB], 'C': [C], 'D': [D]}
提前感谢您的宝贵时间!
【问题讨论】:
标签: python python-3.x file-io dictionary