Python 脚本:比较两个文本文件内容并输出差异
下面是一个使用 Python 实现的脚本,用于比较两个文本文件的内容是否一致,并输出相应的结果和第一次不一致的行数和内容:
def compare_text(file1, file2):
with open(file1, 'r') as f1, open(file2, 'r') as f2:
lines1 = f1.readlines()
lines2 = f2.readlines()
# 比较两个文本文件的行数
if len(lines1) != len(lines2):
print('fail')
print('行数不一致')
return
# 逐行比较两个文本文件的内容
for i, (line1, line2) in enumerate(zip(lines1, lines2)):
if line1 != line2:
print('fail')
print('第一次不一致的行数:', i+1)
print('内容:')
print(f'{file1}: {line1.strip()}')
print(f'{file2}: {line2.strip()}')
return
print('pass')
# 示例用法
compare_text('file1.txt', 'file2.txt')
在该脚本中,compare_text 函数接受两个文件路径作为参数。它使用 with open 语句打开这两个文件,并逐行读取它们的内容。
首先,该函数会比较两个文件的行数。如果行数不一致,将输出 'fail' 并提示行数不一致。
然后,函数会使用 enumerate 和 zip 函数同时遍历两个文件的行,逐行比较它们的内容。如果发现第一次不一致,将输出 'fail',并给出不一致的行数和内容。其中,strip 函数用于去除行末的换行符。
如果两个文件的内容完全一致,将输出 'pass'。
你可以将实际的文件路径传递给 compare_text 函数,以比较具体的文本文件。
原文地址: http://www.cveoy.top/t/topic/nN6 著作权归作者所有。请勿转载和采集!