比对文件内容,可以比对到对应哪一块不同
tag会有equl,就代表相同
insert,代表前一个文件会比后一个文件在这个位置少了哪些内容
repalce,代表前一个文件中的内容被替换成了啥
delete,代表前一个比后面的少了哪些内容
def compare_file_contents(a_path,b_path):
A = open(a_path, 'r')
B = open(b_path, 'r')
contextA = A.read()
contextB = B.read()
s = difflib.SequenceMatcher(lambda x: x == "", contextA, contextB)
print('-----------')
result = s.get_opcodes()
for tag, i1, i2, j1, j2 in result:
print(f'标志{tag}',end=',')
print(f'开启位置{i1}到结尾位置',end='')
print(f'{i2}位置')
print('具体如下===========================================')
print(f"{tag}+'\n'contextA[%d:%d]=%s \ncontextB[%d:%d]=%s\n******************************\n" % ( i1, i2, contextA[i1:i2], j1, j2, contextB[j1:j2]))
readlins方法会快一点,但是好像只比对了一行,还不是很明白