1.比较差异:
import difflib text1 = "hello world" text2 = "hello there" diff = difflib.ndiff(text1, text2) print('\n'.join(diff))
2.比较文件的差异
import difflib with open('file1.txt') as file1, open('file2.txt') as file2: diff = difflib.ndiff(file1.readlines(), file2.readlines()) print('\n'.join(diff))
3.比较列表的差异;
import difflib list1 = ['apple', 'banana', 'cherry'] list2 = ['apple', 'banana', 'kiwi'] diff = difflib.ndiff(list1, list2) print('\n'.join(diff))
4.比较字符串相似度:
import difflib text1 = "hello world" text2 = "hello there" similarity = difflib.SequenceMatcher(None, text1, text2).ratio() print(similarity)
5.获取两个字符串的相似块:
import difflib text1 = "hello world" text2 = "hello there" blocks = difflib.SequenceMatcher(None, text1, text2).get_matching_blocks() print(blocks)
6.获取两个字符串的最长公共子序列:
import difflib text1 = "hello world" text2 = "hello there" lcs = difflib.SequenceMatcher(None, text1, text2).find_longest_match(0, len(text1), 0, len(text2)) print(lcs)
Match(a=0, b=0, size=6)
import difflib text1 = "hello world" text2 = "hello there" lcs = difflib.SequenceMatcher(None, text1, text2).find_longest_match(0, len(text1), 0, len(text2)) print(text1[lcs.a: lcs.a + lcs.size])
hello
7.比较两个字符串,并返回上下文差异
import difflib text1 = "hello world" text2 = "hello there" diff = difflib.context_diff(text1, text2) print('\n'.join(diff))