python在文件中倒序查找个关键词

本文介绍了一个Python函数,用于在文件中从后向前查找指定的关键字,并返回包含这些关键字的行。该函数支持忽略大小写的匹配,并能按关键字的顺序优先返回结果。

python在文件中倒序查找个关键单词,忽略大小写来匹配,并将关键单词所在行作为结果返回,以单词输入顺序作为优先度实现返回(目前只返回第1个单词所在行,可实现多个返回)

#coding = utf-8

# @author :  dj
import re


#  the second param  你想要寻找的字母(顺序影响结果,顺序即优先度)
# 调用方式: (fname,copyright,source)

def extractOriginalAgency(fname,*dependingList):
    count_ = len(dependingList)
    result = ["none"] * count_
    n =0
    with open(fname, 'r', encoding='utf-8') as f:


        try:
            lines = f.readlines() #读取所有行
            i = 0
            while(True):
                # find from the ending of the passage

                string = lines[i]

                for j in range(0,count_):
                    if(result[j] == "none" ):
                        if (match(string,dependingList[j])):
                    #         匹配成功
                            result[j] =string
                            n = n+1

# 当找到所有单词是即不必再往下找
                if(n == count_):
                    break

                i += 1;
        except:
            pass

    #     找到目标所在行后
        finResult = "none"
        temp = "none"
    #   优先返回有 
        for z in range(0,count_):
            if(temp =="none" and result[z] !="none" ):
                temp = result[z]
        if(finResult =="none"):
            finResult = temp

    return finResult


def match(string,reString):
#     用restring 匹配string
    matchObj = re.match(reString,string,re.IGNORECASE)

    if(matchObj):
        return True
    else:
        return False
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿了个猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值