python实现两份大文本对比 并输出差异
时间: 2023-07-31 07:12:46 浏览: 250
您好!针对您的问题,可以使用Python内置的difflib模块来实现两份大文本的对比,并输出差异。
以下是一个简单的示例代码:
```python
import difflib
# 读取两个文本文件
with open('text1.txt', 'r') as file1, open('text2.txt', 'r') as file2:
text1 = file1.readlines()
text2 = file2.readlines()
# 使用difflib模块进行对比
d = difflib.Differ()
diff = list(d.compare(text1, text2))
# 打印差异
for line in diff:
if line.startswith('-'):
print('删除行:', line.strip())
elif line.startswith('+'):
print('新增行:', line.strip())
```
在上述代码中,我们首先使用`with open()`语句读取了两个文本文件(`text1.txt`和`text2.txt`),然后使用difflib模块的`Differ()`函数创建了一个对比对象,最后使用`compare()`函数进行对比,并将结果存储在一个列表中。
接着,我们遍历列表中的每一行,如果是以`-`开头的行,则表示是文本1中删除的行;如果是以`+`开头的行,则表示是文本2中新增的行;如果不是以`-`或`+`开头的行,则表示两个文本中该行内容相同,不需要输出。
您可以将上述代码中的`text1.txt`和`text2.txt`替换为您需要对比的文本文件,并运行代码查看结果。希望对您有所帮助!
阅读全文