Python python 内置库 difflib 的一点疑惑

果冻 · August 07, 2019 · Last by 果冻 replied at August 07, 2019 · 2601 hits

使用 difflib 进行接口对比,将线上和灰度两个环境的报文对比然后输出 html 结果;

有的能够完美对比,有的却出现行错位对比,检查了多次,搞不懂是如何造成的错行,望大侠指点。

更新:进一步验证,200 行以内完美对比,超过 200 行出现行错位

1-完美对比结果

2-行错位对比结果

共收到 3 条回复 时间 点赞
果冻 #1 · August 07, 2019 Author

实行了曲线救国方法,将报文进行了拆分,每条数据 60 多行,都可以完美对比~

结构化的数据不太适合用 difflib,直接用 json-diff xml-diff 这些可能更合适;
diff 一般有 基于字符、基于行、基于语义 等类型,你这个明显是因为很多行是一样的,导致了上下文判断错误。

果冻 #3 · August 07, 2019 Author
arrow 回复

感谢,会尝试一下

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up