我写了下面的代码来比较一个文件“(F)与我的路径中的其他几个文件,现在结果只打印一个文件的结果,任何建议如何执行比较并打印所有结果?如何用Python比较一个文本文件和其他几个文件?
import difflib
import fnmatch
import os
filelist=[]
f= open("D:/Desktop/data/sample/ff69c.txt")
flines= f.readlines()
path="D:/Desktop/data/sample/sample2"
for root, dirnames, filenames in os.walk(path):
for filename in fnmatch.filter(filenames, '*.txt'):
filelist.append(os.path.join(root, filename))
for m in filelist:
g=open(m,'r')
glines= g.readlines()
# g.close()
d = difflib.Differ()
diff_list = list(d.compare(flines, glines))
#print("".join(diff))
n_adds, n_subs, n_eqs, n_wiered = 0, 0, 0, 0
for diff_item in diff_list:
if diff_item[0] == '+':
n_adds += 1
elif diff_item[0] == '-':
n_subs +=1
elif diff_item[0] == ' ':
n_eqs += 1
else:
n_wiered += 1
print 'lines files #1: %d #2: %d' % (len(flines), len(glines))
print 'adds: %d subs: %d eqs: %d ?:%d ' % (n_adds, n_subs, n_eqs, n_wiered)