我有一个包含2000个.txt文件的目录,各种大小。其中一些名称非常相似,例如:
trend_micro.txt
trendmicro.txt
和
microsoft-windows.txt
microsoft.txt
我在列表中包含所有文件名。我如何将这些类似的文件名组合在一起?
答案 0 :(得分:1)
目前尚不清楚如何定义“相似”和“不相似”。在这里我假设两个文件名是相似的,如果它们在丢弃“ - ”和“_”后变得相同。以下代码应该做的工作
def reduce_key(fn):
# you can change this according to your definition of "similar"
return fn.replace("-","").replace("_","")
from collections import defaultdict
# this holds the grouped filenames
group_dict = defaultdict(list)
for fn in your_list:
key = reduce_key(fn)
group_dict[key].append(fn)
print(group_dict)