Module difflib so sánh sequence (dòng văn bản), tạo diff unified format.
Ví dụ
import difflib
with open('file1.txt') as f1, open('file2.txt') as f2:
f1_lines = f1.readlines()
f2_lines = f2.readlines()
# Unified diff
for line in difflib.unified_diff(f1_lines, f2_lines, fromfile='file1', tofile='file2', lineterm=''):
print(line)
Kết quả mẫu
--- file1 +++ file2 @@ -1,3 +1,3 @@ Hello People -of -the -world +from +India
Các hàm diff khác
difflib.context_diff()— context diff format.difflib.ndiff()— dòng có prefix+ - ?.difflib.get_close_matches()— fuzzy match string.difflib.SequenceMatcher— ratio similarity, matching blocks.
# Similarity ratio sm = difflib.SequenceMatcher(None, "hello", "hella") print(sm.ratio()) # 0.8