html和xml文档的结构感知diff

html-tree-diff的Python项目详细描述


XML和HTML文档的结构感知差异。

其目的是简明地显示在 文档,以便HTML内容的作者可以查看他们的工作。

“HTML树差异”是什么意思?

  • HTML格式: diff函数的输入是html文档
  • 树: 它考虑输入的完整xml树结构,而不仅仅是基于文本的更改。
  • 差异: 输出是人类可读的html,使用<;ins>;和<;del>;标记显示更改。

命令行界面

您可以作为python模块直接执行htmltreediff.cli,将html文件传递给diff:

$ python -m htmltreediff.cli one.html two.html
<h1>
  <del>
    one
  </del>
  <ins>
    two
  </ins>
</h1>

python api

您还可以将来自python程序的htmltreediff用作库。

对于HTML更改:

>>> from htmltreediff import diff
>>> print diff('<h1>...one...</h1>', '<h1>...two...</h1>', pretty=True)
<h1>
  ...
  <del>
    one
  </del>
  <ins>
    two
  </ins>
  ...
</h1>

也适用于纯文本更改:

>>> print diff(
...     'The quick brown fox jumps over the lazy dog.',
...     'The very quick brown foxes jump over the dog.',
...     html=False,
... )
The <ins>very </ins>quick brown <del>fox jumps</del><ins>foxes jump</ins> over the<del> lazy</del> dog.

运行单元测试

单元测试套件需要运行包nosecoverage。只要运行run_tests.sh脚本,所有测试都将运行,代码覆盖率为。代码覆盖率应始终为100%。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用户界面java,使用gui连接到另一台计算机/服务器的文件系统   运行sbt的ubuntu返回错误:“javahome需要<path>参数”   java如何在Android中处理许多ImageView而不出现内存问题?   查询中非法字符的java相同URL失败   安卓取消引用可能会产生“java”。lang.NullPointerException'   java中的indexoutofboundsexception“java.lang.ArrayIndexOutOfBoundsException”错误   xml Java将dom保存到文件>文件在程序结束后由另一个进程打开   Java的垃圾收集器是如何工作的?   Java如何筛选值(列表)   java处理字符串我怎样才能像在真实的书籍中一样在上面部分生成“小数字”呢?   java SonarQube是否有一个API来获取所有项目分析的一部分?   java startActivity(intent)什么都不做   JAVAutil。扫描器类Java   java如何从Firebase更新电子邮件?UpdateMail方法已被弃用   java Hibernate。如何正确组织带有注释的onetomany关系?   在java中获得卷标和驱动器号之间的映射(而不是FileSystemView)的解决方法是什么   java查找文件的路径