python文件比较示例分享

时间:2023-03-17 21:10:23 


# 比较两个字符串,如果不同返回第一个不相同的位置
# 如果相同返回0
def cmpstr(str1, str2):
    col = 0
    for c1, c2 in zip(str1, str2):
        if c1 == c2:
            col += 1
            continue
        else :
            break

    #判断是怎样退出循环的,还有一种情况是串长度不同
    if c1 != c2 or len(str1) != len(str2):
        return col+1
    else :
        return 0

file1 = open("a.txt",'r')
file2 = open("b.txt",'r')

fa = file1.readlines()
fb = file2.readlines()
file1.close()
file2.close()

#用GBK解码,这样可以处理中文字符
fa = [ str.decode("gbk") for str in fa]
fb = [ str.decode("gbk") for str in fb]

row = 0
col = 0


#开始比较两个文件的内容
for str1, str2 in zip(fa, fb):
    col = cmpstr(str1,str2)
    # col=0则说明两行相等
    if col == 0 :
        row += 1
        continue
    else:
        break

#如果有一行不同,或者文件长度不一样
if str1 != str2 or len(fa) != len(fb):
    #打印出不同的行序和列序,并把不同的前一句后本句打印出来
    #最后两个字符是不同的地方
    print "row:", row+1, "col:", col
    print "file a is:\n", fa[row-1],fa[row][:col+1], "\n"
    print "file b is:\n", fb[row-1],fb[row][:col+1], "\n"
else :
    print "All are same!"

raw_input("Press Enter to exit.")  

标签:python文件比较
0
投稿

猜你喜欢

  • javascript、php关键字搜索函数的使用方法

    2024-05-08 10:10:19
  • python开发之thread实现布朗运动的方法

    2021-04-10 00:17:36
  • python的pdb调试命令的命令整理及实例

    2022-10-01 01:47:12
  • 去除新云CMS文章列表前的小圆点

    2008-09-27 13:36:00
  • 在ORACLE里设置访问多个SQL Server数据库

    2007-08-17 10:18:00
  • XPath 11个实例

    2008-09-05 15:06:00
  • OpenCV-Python 实现两张图片自动拼接成全景图

    2022-12-07 11:25:49
  • 聊一聊JS中的prototype

    2024-05-02 16:20:18
  • Keras保存模型并载入模型继续训练的实现

    2021-08-12 23:23:32
  • python 正则式 概述及常用字符

    2023-01-14 14:50:54
  • Pandas 对Dataframe结构排序的实现方法

    2021-11-26 09:06:48
  • 原生JS实现九宫格抽奖效果

    2024-04-17 10:33:38
  • c#如何利用定时器自动备份数据库详解

    2024-01-27 12:11:33
  • 通过Python实现猜灯谜游戏的示例代码

    2022-01-10 17:49:40
  • 基于Python编写一个爆炸信息窗口脚本

    2023-04-01 02:07:05
  • python密码学各种加密模块教程

    2021-03-10 05:32:55
  • Python针对给定列表中元素进行翻转操作的方法分析

    2022-04-19 18:37:07
  • 一文了解Python 流程控制

    2021-01-27 18:37:28
  • 原生js实现放大镜组件

    2024-05-11 09:06:05
  • vue3中关于路由hash与History的设置

    2024-05-13 09:14:24
  • asp之家 网络编程 m.aspxhome.com