多個文本文件兩兩碰撞相同內容

# -*- coding: cp936 -*-
import os,sys,glob,itertools
os.chdir(sys.path[0])

def getsame(a,b):
    la=[]
    lb=[]
    for i in open(a):
        la.append(i.strip())
    for i in open(b):
        lb.append(i.strip())
        
    ret =  list(set(la).intersection(set(lb)))  
    if len(ret)==0:
        return a[:-4]+'-'+b[:-4]+' : 匹配個數 0'
    else:
        return a[:-4]+'-'+b[:-4]+'  : 匹配個數 '+str(len(ret))+'\r\n'+' '.join(ret)+'\r\n'


fn=[]
for i in glob.glob('*.txt'):
    fn.append(i)


for a,b in itertools.combinations(fn,2):
    print getsame(a,b)
    
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章