当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python difflib.context_diff用法及代码示例


用法:

difflib.context_diff(a, b, fromfile='', tofile='', fromfiledate='', tofiledate='', n=3, lineterm='\n')

比较ab(字符串列表);以上下文差异格式返回一个增量(生成增量线的生成器)。

上下文差异是一种仅显示已更改的行加上几行上下文的紧凑方式。更改以之前/之后的样式显示。上下文行数由n 设置,默认为三。

默认情况下,差异控制线(带有 ***--- 的那些)是使用尾随换行符创建的。这很有帮助,因此从 io.IOBase.readlines() 创建的输入会产生适合与 io.IOBase.writelines() 一起使用的差异,因为输入和输出都有尾随换行符。

对于没有尾随换行符的输入,将 lineterm 参数设置为 "" 以便输出将统一无换行符。

上下文差异格式通常具有文件名和修改时间的标题。可以使用 fromfiletofilefromfiledatetofiledate 的字符串指定任何或所有这些。修改时间通常以 ISO 8601 格式表示。如果未指定,则字符串默认为空白。

>>> s1 = ['bacon\n', 'eggs\n', 'ham\n', 'guido\n']
>>> s2 = ['python\n', 'eggy\n', 'hamster\n', 'guido\n']
>>> sys.stdout.writelines(context_diff(s1, s2, fromfile='before.py', tofile='after.py'))
*** before.py
--- after.py
***************
*** 1,4 ****
! bacon
! eggs
! ham
  guido
--- 1,4 ----
! python
! eggy
! hamster
  guido

有关更详细的示例,请参阅 difflib 的命令行 接口。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 difflib.context_diff。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。