2017-10-13 12 views
0

다양한 크기의 2000 .txt 파일이 들어있는 디렉토리가 있습니다.파이썬 그룹 유사한 파일 이름

trend_micro.txt 
trendmicro.txt 

microsoft-windows.txt 
microsoft.txt 

나는이 목록에있는 모든 파일 이름을 가지고 그들 중 일부는 매우 비슷한 이름을 가지고있다. 비슷한 파일 이름을 함께 그룹화하려면 어떻게해야합니까?

답변

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)