python文本比较
时间: 2023-11-14 16:10:03 浏览: 33
Python中有一个标准库模块叫做difflib,它可以用来比较序列文本集之间的差异,并且支持输出可读性比较强的HTML文档。其中常用的比较类有SequenceMatcher和HtmlDiff。SequenceMatcher可以用来比较两个字符串的不同,而HtmlDiff可以用来比较文件内容的不同并输出HTML文档。下面是一个比较文件内容的例子:
```python
import difflib
a = open("original.txt", "r").readlines()
b = open("modified.txt", "r").readlines()
difference = difflib.Differ(charjunk=lambda x: x in [",", ".", "-", "'"])
for line in difference.compare(a, b):
print(line, end="")
```
这个例子中,我们打开了两个文件original.txt和modified.txt,然后使用Differ类来比较它们的不同,并且使用charjunk参数来指定忽略一些特定字符。最后,我们遍历比较结果并输出。
另外,如果你想比较两个字符串的不同,可以使用SequenceMatcher类,下面是一个例子:
```python
import difflib
str1 = "I would like to order a pepperoni pizza.\n And you?"
str2 = "I would like to order a veggie burger.\n And you?"
str1_lines = str1.splitlines()
str2_lines = str2.splitlines()
d = difflib.Differ()
diff = d.compare(str1_lines, str2_lines)
for lines in diff:
print(lines)
```
这个例子中,我们将两个字符串分割成行,并使用Differ类来比较它们的不同。最后,我们遍历比较结果并输出。