python文件比较示例分享


Posted in Python onJanuary 10, 2014
# 比较两个字符串,如果不同返回第一个不相同的位置
# 如果相同返回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 相关文章推荐
Python中input和raw_input的一点区别
Oct 21 Python
Python虚拟环境Virtualenv使用教程
May 18 Python
Python机器学习之决策树算法
Dec 22 Python
PyQt5主窗口动态加载Widget实例代码
Feb 07 Python
Python 实现两个列表里元素对应相乘的方法
Nov 14 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
python 实现rolling和apply函数的向下取值操作
Jun 08 Python
python palywright库基本使用
Jan 21 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
Python基础之hashlib模块详解
May 06 Python
python发送伪造的arp请求
Jan 09 #Python
python抓取京东价格分析京东商品价格走势
Jan 09 #Python
python实现电子词典
Apr 23 #Python
python中cPickle用法例子分享
Jan 03 #Python
使用python获取CPU和内存信息的思路与实现(linux系统)
Jan 03 #Python
Python群发邮件实例代码
Jan 03 #Python
python切换hosts文件代码示例
Dec 31 #Python
You might like
收音机指标测试方法及仪器
2021/03/01 无线电
说明的比较细的php 正则学习实例
2008/07/30 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
php制作文本式留言板
2015/03/18 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
浅谈Python中数据解析
2015/05/05 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python opencv实现简易画图板
2020/08/27 Python
简单的命令查看安装的python版本号
2020/08/28 Python
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
社会治安综合治理管理责任书
2014/04/16 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
先进工作者推荐材料
2014/12/23 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang
Java spring定时任务详解
2021/10/05 Java/Android
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技