使用 difflib 进行接口对比,将线上和灰度两个环境的报文对比然后输出 html 结果;
有的能够完美对比,有的却出现行错位对比,检查了多次,搞不懂是如何造成的错行,望大侠指点。
更新:进一步验证,200 行以内完美对比,超过 200 行出现行错位
1-完美对比结果
2-行错位对比结果
实行了曲线救国方法,将报文进行了拆分,每条数据 60 多行,都可以完美对比~
结构化的数据不太适合用 difflib,直接用 json-diff xml-diff 这些可能更合适; diff 一般有 基于字符、基于行、基于语义 等类型,你这个明显是因为很多行是一样的,导致了上下文判断错误。
感谢,会尝试一下