你可以使用Python中的difflib模块来比较两个文本文件并找到差异。下面是一个使用difflib模块的代码示例:
import difflib
def compare_files(file1, file2):
# 读取文件内容
with open(file1, 'r') as f1, open(file2, 'r') as f2:
text1 = f1.readlines()
text2 = f2.readlines()
# 使用difflib模块的Differ类进行比较
diff = difflib.Differ()
result = list(diff.compare(text1, text2))
# 打印差异
print("差异:")
for line in result:
if line.startswith('-') or line.startswith('+'):
print(line)
# 找出不匹配的行
mismatched_lines = [line for line in result if line.startswith('?')]
if len(mismatched_lines) > 0:
print("不匹配的行:")
for line in mismatched_lines:
print(line)
# 调用函数进行比较
compare_files('file1.txt', 'file2.txt')
在上面的代码中,我们首先使用open()
函数打开两个文件,并将其内容读取到text1
和text2
列表中。然后,我们使用difflib
模块的Differ
类创建一个比较器对象,并使用compare()
方法比较两个文本的行。
比较结果是一个包含差异的列表,每个元素都是一个字符串,以-
表示在第一个文件中独有的行,以+
表示在第二个文件中独有的行,以?
表示两个文件中不匹配的行。
最后,我们打印出差异并找出不匹配的行。你可以将'file1.txt'
和'file2.txt'
替换为你要比较的文件路径。