可以使用Python中的difflib库来比较两个文本文件。difflib可以将两个字符串中不同的部分找出来,并标记出来。
以下是实现的代码示例:
import difflib
def compare_files(file1, file2):
"""
比较两个文件的内容
"""
with open(file1, 'r') as f1:
content1 = f1.readlines()
with open(file2, 'r') as f2:
content2 = f2.readlines()
# 使用difflib库比较两个文本内容
diff = difflib.unified_diff(content1, content2, lineterm='', n=0)
# 存储不同部分的行数
different_points = []
for line in diff:
if line.startswith('@@'):
nums = line.split()[1]
start_line = nums.split(',')[0][1:]
num_lines = nums.split(',')[1]
for i in range(int(num_lines)):
different_points.append(int(start_line)+i)
# 返回不同部分的行数
return different_points
if __name__ == '__main__':
file1 = 'file1.txt'
file2 = 'file2.txt'
different_points = compare_files(file1, file2)
print(different_points)
在上面的代码中,我们首先使用with open() as f:
的方式读取文件的内容,然后使用difflib库中的unified_diff()
函数比较两个文本文件的内容。通过分析不同的行数,我们就可以发现有哪些相同的点,但是这些点的描述不同。最后返回不同部分的行数即可。