Python读取两个文件的每一行内容,比较每一行的内容并打印

本段代码实现:比较两个相似的文件,并打印出文件的不同之处。

分行读取两个文件的内容,并依次比较每一行的内容,直至读取到最后一行。

对于文件较大的内容,不介意使用一次性读取,这样会导致占用内存过大导致程序崩溃。

import filecmp

def compareFile(filea,fileb):
    if not filecmp.cmp(filea,fileb):   #若文件有不同,则依次比较每一行内容
        readfilea = open(filea,'r')
        readfileb = open(fileb,'r')
        while True:
            linefilea = readfilea.readline().strip()   #一行一行的读取并比较
            linefileb = readfileb.readline().strip()
            if linefilea and linefileb:
                if linefilea != linefileb:
                    print('有不同! 前者内容为:', linefilea, '后者内容为:', linefileb)
            else:
                break
        readfilea.close()
        readfileb.close()
    else:
        print('服务返回字段都相同')

compareFile(r'.\MomentsAfter.txt', r'.\MomentsBefore.txt')

期间遇到的问题:

1、使用open函数若使用二进制模式打开一个文件,对换行符号的识别是有区别的

'\r\n' '\n'

2、关于readline():一行一行的读取文本中的内容

一行读取完之后继续调用readline()会接着读取下一行,直至文件中的内容被读取完毕。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值