zoukankan      html  css  js  c++  java
  • 比较用户输入的两个文件,显示出所有不同处的行号与第一个不同字符的位置

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

  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/sunshishi/p/4775876.html
Copyright © 2011-2022 走看看