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

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

转载于:https://www.cnblogs.com/sunshishi/p/4775876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值