如果想用python去实现文件内容比较,不需要自己去实现比较算法,使用python标准库中的difflib就可以实现
import sys
import difflib
def read_file(filename):
try:
with open(filename, 'r') as f:
return f.readlines()
except IOError:
print("ERROR: 没有找到文件:%s或读取文件失败!" % filename)
sys.exit(1)
def compare_file(file1, file2, out_file):
file1_content = read_file(file1)
file2_content = read_file(file2)
d = difflib.HtmlDiff()
result = d.make_file(file1_content, file2_content)
with open(out_file, 'w') as f:
f.writelines(result)
if __name__ == '__main__':
compare_file(r'd:\file1.py', r'd:\file2.py', r'd:\result.html')
打开比较结果文件result.html内容如下: