我有一个关于对具有相同内容但文件名不同的文件进行分组的问题。我查看了filecmp.cmp()
,但一次只能比较两个文件。
我们的想法是把这样的东西变成:
file1: [a,b,c,d,e,f,g,h,i]
file2: [a,b,c,d,e,f,g,h,i]
file3: [a,b,c,d,e,f,g,h,i]
file4: [a,b,c,d,e,f,g,h]
file5: [a,b,c,d,e,f,g,h]
file6: [a,b,c,d,e]
进入:
file(1,2,3): [a,b,c,d,e,f,g,h,i]
file(4,5): [a,b,c,d,e,f,g,h]
file(6): [a,b,c,d,e]
我想我有大约1800个.txt文件,但只有大约20个独特的文件。我想创建一个显示分组的列表、字典或数据框。
任何帮助都是非常感谢的。谢谢!
发布于 2018-05-29 06:32:05
一种经典的方法是使用字典。首先完成目录中所有文件名的列表,并将其存储到名为file_names的列表中。然后:
filedict={}
for name in file_names:
file=open(name,"r")
filecontents=file.read()
if filecontents in filedict:
filedict[filecontents].append(name)
else:
filedict[filecontents]=[]
filedict[filecontents].append(name)
此字典的每个值都将是具有相同文本内容的文件列表。字典的键将是文件的字符串。
https://stackoverflow.com/questions/50573900
复制相似问题