Python python 内置库 difflib 的一点疑惑

果冻 · 2019年08月07日 · 最后由 果冻 回复于 2019年08月07日 · 1764 次阅读

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

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

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

1-完美对比结果

2-行错位对比结果

共收到 3 条回复 时间 点赞

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

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

arrow 回复

感谢,会尝试一下

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册