国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python difflib模塊示例講解

2020-02-16 10:14:06
字體:
供稿:網(wǎng)友

difflib模塊提供的類和方法用來進(jìn)行序列的差異化比較,它能夠比對(duì)文件并生成差異結(jié)果文本或者h(yuǎn)tml格式的差異化比較頁面,如果需要比較目錄的不同,可以使用filecmp模塊。

class difflib.SequenceMatcher

此類提供了比較任意可哈希類型序列對(duì)方法。此方法將尋找沒有包含‘垃圾'元素的最大連續(xù)匹配序列。

通過對(duì)算法的復(fù)雜度比較,它由于原始的完形匹配算法,在最壞情況下有n的平方次運(yùn)算,在最好情況下,具有線性的效率。

它具有自動(dòng)垃圾啟發(fā)式,可以將重復(fù)超過片段1%或者重復(fù)200次的字符作為垃圾來處理。可以通過將autojunk設(shè)置為false關(guān)閉該功能。

class difflib.Differ

此類比較的是文本行的差異并且產(chǎn)生適合人類閱讀的差異結(jié)果或者增量結(jié)果,結(jié)果中各部分的表示如下:

這里寫圖片描述

class difflib.HtmlDiff

 此類可以被用來創(chuàng)建HTML表格 (或者說包含表格的html文件) ,兩邊對(duì)應(yīng)展示或者行對(duì)行的展示比對(duì)差異結(jié)果。

 make_file(fromlines, tolines [, fromdesc][, todesc][, context][, numlines])

make_table(fromlines, tolines [, fromdesc][, todesc][, context][, numlines])

以上兩個(gè)方法都可以用來生成包含一個(gè)內(nèi)容為比對(duì)結(jié)果的表格的html文件,并且部分內(nèi)容會(huì)高亮顯示。

difflib.context_diff(a, b[, fromfile][, tofile][, fromfiledate][, tofiledate][, n][, lineterm])

比較a與b(字符串列表),并且返回一個(gè)差異文本行的生成器
示例:

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

difflib.get_close_matches(word, possibilities[, n][, cutoff])

返回最大匹配結(jié)果的列表

示例:

>>> get_close_matches('appel', ['ape', 'apple', 'peach', 'puppy'])['apple', 'ape']>>> import keyword>>> get_close_matches('wheel', keyword.kwlist)['while']>>> get_close_matches('apple', keyword.kwlist)[]>>> get_close_matches('accept', keyword.kwlist)['except']

difflib.ndiff(a, b[, linejunk][, charjunk])

比較a與b(字符串列表),返回一個(gè)Differ-style 的差異結(jié)果
示例:

>>> diff = ndiff('one/ntwo/nthree/n'.splitlines(1),...       'ore/ntree/nemu/n'.splitlines(1))>>> print ''.join(diff),- one? ^+ ore? ^- two- three? -+ tree+ emu

difflib.restore(sequence, which)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 民权县| 凤台县| 海兴县| 轮台县| 乌恰县| 玉田县| 英德市| 克东县| 平乡县| 奉贤区| 洛宁县| 鹤峰县| 沙湾县| 尼玛县| 宁明县| 政和县| 富裕县| 彭阳县| 五华县| 木兰县| 泊头市| 东阳市| 潼关县| 炎陵县| 西盟| 金山区| 仁寿县| 荣昌县| 黑水县| 营山县| 泗水县| 峡江县| 德州市| 海门市| 乐都县| 漳平市| 宁乡县| 防城港市| 长子县| 石狮市| 咸宁市|