以下是一个比较两个文件内容并输出差异和行号的示例代码:
def compare_files(file1, file2):
with open(file1, 'r') as f1, open(file2, 'r') as f2:
lines1 = f1.readlines()
lines2 = f2.readlines()
# 比较文件内容并输出差异和行号
for i, (line1, line2) in enumerate(zip(lines1, lines2)):
if line1 != line2:
print(f"Difference at line {i+1}:\n")
print(f"File1: {line1}")
print(f"File2: {line2}")
# 输出剩余行号
if len(lines1) > len(lines2):
print(f"Additional lines in {file1}:")
for line in lines1[len(lines2):]:
print(line)
elif len(lines1) < len(lines2):
print(f"Additional lines in {file2}:")
for line in lines2[len(lines1):]:
print(line)
# 测试代码
compare_files('file1.txt', 'file2.txt')
在这个示例中,我们通过打开两个文件并逐行读取它们的内容。然后,我们使用enumerate
函数遍历两个文件的内容,并比较每一行。如果两个文件的对应行不相等,我们打印出差异的行号以及两个文件中的内容。最后,我们检查剩余的行号并输出它们。
请确保将file1.txt
和file2.txt
替换为要比较的实际文件路径。