1. 编写一个程序,比较用户输入的两个文件,如果不同,显示出所有不同处的行号与第一个不同字符的位置。
import os import re cwd = os.getcwd() os.chdir(cwd) filename1 = input("请输入需要比较的头一个文件名:") filename2 = input("请输入需要比较的另一个文件名:") f1=open(filename1) f2=open(filename2) rownum = 0 count = 0 #定义为每一行有一处不同 for(line1,line2) in zip(f1,f2): rownum+=1 if line1 != line2: colnum=0 for(chara,charb) in zip(line1,line2): if chara == charb: colnum+=1 else: print '第%d行第%d列不一样'%(rownum,colnum) count += 1 print("两个文件共有【%d】处不同" % count) f1.close() f2.close()
a.txt内容:
从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
b.txt内容:
从明天起,做一个幸福的人
喂马、劈柴,周游世界,哒哒
从明天起,关心粮食和蔬菜菜
我有一所房子,面朝大海,春暖花开
运行结果:
>>>
请输入需要比较的头一个文件名:a.txt
请输入需要比较的另一个文件名:b.txt
第2行第20列不一样
第3行第24列不一样
两个文件共有【2】处不同