比较用户输入的两个文件,显示出所有不同处的行号与第一个不同字符的位置

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】处不同

posted @ 2015-09-01 15:42  sun_spring  阅读(1055)  评论(0编辑  收藏  举报