每天分享一個好用的Python庫-difflib

SilenceHL發表於2021-06-22

前言

由於生病了幾天,導致該系列拖更了,今天稍微好點了,繼續開始更新。今天分享是一個Python標準庫,主要用於計算文字間的差異:difflib

difflib

簡介

difflib 是Python標準庫中一個可用於對比文字之間的差異,並且支援輸出HTML文件的庫。

安裝

Python標準庫,無需安裝。

簡單使用

常見類

  • Differ:是一個用於比較文字行序列的類,並且產生人類可讀的差異或增量。

    • compare:比較兩個行序列; 生成結果增量。

      >>> print(''.join(Differ().compare('one\ntwo\nthree\n'.splitlines(True),
              ...                                'ore\ntree\nemu\n'.splitlines(True))),
              ...       end="")
              - one
              ?  ^
              + ore
              ?  ^
              - two
              - three
              ?  -
              + tree
              + emu
  • HtmlDiff:用於生成 HTML 並與更改亮點進行比較。此類可用於建立 HTML 表格(或包含該表格的完整 HTML 檔案),顯示文字與行間和行內更改突出顯示的並排、逐行比較。該表可以以完整或上下文差異模式生成。為 HTML 生成提供了以下方法:

    • make_table:為單個並排表格生成 HTML。
      • make_file:使用一個並排表格生成完整的 HTML 檔案。

常用方法

ratio:用[0,1]的範圍返回序列相似性的度量,作為[0,1]範圍內的浮點數。值超過 0.6 意味著序列接近匹配。

作用

這個庫與Linux下的vimdiff命令功能一樣,在Python中可以更好的讓我們處理對比文件的結果。

尾巴

Python標準庫也需要大家進行學習的,裡面充滿著很多有意思的庫,不需要在重複造輪子了。

大家一定要保重身體,身體才是革命的本錢。由於本人目前還很虛弱,爬蟲系列的更新會再晚一些,請再給我一點時間。

官方文件地址

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章