统计2个字符串不同点个数

该代码的背景是统计OCR识别率,按单个文字为统计个数,而不是一张图片为统计个数。
现在只能统计英文,利用difflib,有些情况也有问题,各位需要自己测试自己需要的例子

import difflib

def count_error(text1,text2):
    text1_lines = text1.splitlines()
    text2_lines = text2.splitlines()
    d = difflib.Differ()
    diff = d.compare(text1_lines,text2_lines)
    result = '\n'.join(diff)
    # print(result)
    if len(result.split('\n')) == 1:
        return 0
    if len(result.split('\n')) == 2:
        return len(text1)
    flag = True
    sum_error = 0
    for line in result.split('\n'):
        # print(line)
        if len(line) == 0:
            continue
        elif list(line)[0] == '?':
            sum_error += line.count('-')+ line.count('+')
            if flag:
                sum_error += line.count('^')
                flag = False

    return sum_error

text1 = "abcdefg"
text2 = "abcdedg"

print(count_error(text1,text2))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值