python標准庫之【difflib】


 difflib是python提供的比較序列(string list)差異的模塊。實現了三個類:
1>SequenceMatcher 任意類型序列的比較 (可以比較字符串)
2>Differ 對字符串進行比較
3>HtmlDiff 將比較結果輸出為html格式.

SequenceMatcher實例:

 

SequeceMatcher(None,a,b)創建序列比較對象,將以a作為參考標准進行
Sequecematcher(None,b,a)創建序列比較對象,將以b作為參考標准進行
a,b表示待比較的兩個序列,生成序列比較對象后,調用該對象的get_opcodes()方法,將返回一個元組(tag,i1,i2,j1,j2).tag表示序列分片的比較結果.i1,i2表示序列a的索引,j1,j2表示序列b的索引.
get_opcodes()返回元組(tag,i1,i2,j1,j2)的含義

 

 tag值   處理過程
 Replace  a[i1,i2]被b[j1,j2]替換
 Delete  a[i1,i2]分片被刪除,此時j1等會j2
 Insert  b[j1.j2]插入到a[i1,i2]位置處,此時的i1等會i2
 Equal   a[i1,i2]等於b[j1,j2]

 

 

Differ實例:

 

HtmlDiff:

 

打開diff.html:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM