实现效果图
代码一
实现思路:
依次读取文件每一行并存放在两个列表中,通过列表相同索引比较
def compare_files(file1,file2):
file1 = input("请输入需要比较的头一个文件名:")
file2 = input("请输入需要比较的另一个文件名:")
f1 = open(file1, "r")
f2 = open(file2, "r")
count = 0#统计行数
linecount = []#统计不一样的数量
f1_line = []
f2_line = []
for each in f1:
f1_line.append(each)
for each in f2:
f2_line.append(each)
for i in range(len(f1_line)):
if f1_line[i] != f2_line[i]:
count += 1
linecount.append(i+1)
print(f"两个文件共有【{count}】处不同:")
for each in linecount:
print(f"第{each}行不一样")
f1.close()
f2.close()
代码二
实现思路:直接准备比较无需将文件内容存放列表中
def file_compare(file1, file2):
f1 = open(file1)
f2 = open(file2)
count = 0 # 统计行数
differ = [] # 统计不一样的数量
for line1 in f1:
line2 = f2.readline()
count += 1
if line1 != line2:
differ.append(count)
f1.close()
f2.close()
return differ
file1 = input('请输入需要比较的头一个文件名:')
file2 = input('请输入需要比较的另一个文件名:')
differ = file_compare(file1, file2)
if len(differ) == 0:
print('两个文件完全一样!')
else:
print('两个文件共有【%d】处不同:' % len(differ))
for each in differ:
print('第 %d 行不一样' % each)