第一种方法就是按照楼上所说分别保存,因为你的compare函数是单向的,第二种方法就是在函数中添加局部变量,在函数内同时打开两个函数再次进行比较。下面是我自己写的可以参考下
- count = 0
- line = 0
- list1 = []
- list2 = []
- list_line = []
- num = 0
- file1_name = input('请输入需要比较的第一个文件名:')
- file2_name = input('请输入需要比较的第二个文件名:')
- file1 = open(file1_name)
- file2 = open(file2_name)
- for each_line1 in file1:
- list1.append(each_line1)
- for each_line2 in file2:
- list2.append(each_line2)
- while line < len(list2):
- if list1[line] == list2[line]:
- line += 1
- else:
- count += 1
- list_line.append(line+1)
- line += 1
- print('两个文件共有【%d】处不同' % count)
- while True:
- if num != len(list_line):
- print('第%d行不同' % list_line[num])
- num += 1
- else:
- break
- file1.close()
- file2.close()
复制代码