国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 那坡县| 紫金县| 墨玉县| 巴彦淖尔市| 定边县| 南充市| 上犹县| 望都县| 赤壁市| 宝山区| 乐业县| 娄烦县| 尚义县| 沙雅县| 宁乡县| 逊克县| 通渭县| 东阿县| 香港 | 奉新县| 林芝县| 来安县| 高碑店市| 潞城市| 镇坪县| 沅江市| 永济市| 长兴县| 治县。| 儋州市| 华亭县| 康保县| 海林市| 太原市| 安平县| 米泉市| 牙克石市| 理塘县| 沁源县| 高安市| 进贤县|