用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。