用法:
difflib.unified_diff(a, b, fromfile='', tofile='', fromfiledate='', tofiledate='', n=3, lineterm='\n')
比较
a
和b
(字符串列表);以统一的差异格式返回一个增量(生成增量线的生成器)。统一差异是一种仅显示已更改的行加上几行上下文的紧凑方式。更改以内联样式显示(而不是单独的前后块)。上下文行数由
n
设置,默认为三。默认情况下,差异控制线(带有
---
、+++
或@@
的控制线)是使用尾随换行符创建的。这很有帮助,因此从io.IOBase.readlines()
创建的输入会产生适合与io.IOBase.writelines()
一起使用的差异,因为输入和输出都有尾随换行符。对于没有尾随换行符的输入,将
lineterm
参数设置为""
以便输出将统一无换行符。上下文差异格式通常具有文件名和修改时间的标题。可以使用
fromfile
、tofile
、fromfiledate
和tofiledate
的字符串指定任何或所有这些。修改时间通常以 ISO 8601 格式表示。如果未指定,则字符串默认为空白。>>> s1 = ['bacon\n', 'eggs\n', 'ham\n', 'guido\n'] >>> s2 = ['python\n', 'eggy\n', 'hamster\n', 'guido\n'] >>> sys.stdout.writelines(unified_diff(s1, s2, fromfile='before.py', tofile='after.py')) --- before.py +++ after.py @@ -1,4 +1,4 @@ -bacon -eggs -ham +python +eggy +hamster guido
有关更详细的示例,请参阅 difflib 的命令行 接口。
相关用法
- Python difflib.restore用法及代码示例
- Python difflib.get_close_matches用法及代码示例
- Python difflib.ndiff用法及代码示例
- Python difflib.SequenceMatcher.get_opcodes用法及代码示例
- Python difflib.context_diff用法及代码示例
- Python difflib.SequenceMatcher.find_longest_match用法及代码示例
- Python difflib.SequenceMatcher.get_matching_blocks用法及代码示例
- Python distributed.protocol.serialize.register_generic用法及代码示例
- Python dict()用法及代码示例
- Python distributed.Client.gather用法及代码示例
- Python distributed.recreate_tasks.ReplayTaskClient.recreate_task_locally用法及代码示例
- Python distributed.diagnostics.plugin.SchedulerPlugin用法及代码示例
- Python distributed.Client.ncores用法及代码示例
- Python distributed.Client.retire_workers用法及代码示例
- Python distributed.Client.unregister_worker_plugin用法及代码示例
- Python dictionary update()用法及代码示例
- Python distributed.fire_and_forget用法及代码示例
- Python dir用法及代码示例
- Python distributed.Client.set_metadata用法及代码示例
- Python distributed.Client.scheduler_info用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 difflib.unified_diff。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。