python 文本按行搜索

python 文本按行搜索

desktop='C:/Users/Administrator/Desktop/'

def readfile(path):
    
    bcfile=open(bc,encoding='utf8',errors='ignore')
    
    lines=bcfile.readlines()
    bcfile.close()

    #print(len(lines))
    return lines

def togbk(line):
    return line.encode('gbk',errors='ignore').decode('gbk',errors='ignore')

def togbk1(lines):
    retlines=[]
    for line in lines :
        retlines.append(togbk(line))
        
    return retlines

def keywordin(lines,keyword):

    retlines=[]
    
    for line in lines:
        #count+=line.count(keyword)
        if(keyword in line):
            retlines.append(line)
    return retlines


def keywordnotin(lines,keyword):
    retlines=[]
    
    for line in lines:
        #count+=line.count(keyword)
        if(not(keyword in line)):
            retlines.append(line)
    return retlines

def keywordsin(lines,keywords):
    retlines=lines
    for keyword in keywords:
        retlines=keywordin(retlines,keyword)
    return retlines

def keywordsnotin(lines,keywords):
    retlines=lines
    for keyword in keywords:
        retlines=keywordnotin(retlines,keyword)
    return retlines

def keywordssearch(lines,ins,notins):
    retlines=lines
    retlines=keywordsin(retlines,ins)
    retlines=keywordsnotin(retlines,notins)
    
    return retlines
    
def tofile(filepath,s):
    f=open(filepath,'w',encoding='utf8',errors='ignore')
    f.write(s)
    f.close()
    print('file write is done')
    print(filepath)
    
def tofile1(filepath,s):
    f=open(filepath,'w',encoding='utf8',errors='ignore')
    for ss in s:
        f.write(ss)
    f.close()
    print('file write is done')
    print(filepath)
 

lines=readfile(bc)
lines=togbk1(lines)
#ret=keywordin(lines,'第')


rot=desktop+'cccc/'
bc=rot+'ccccc.txt'
ret=keywordssearch(lines, ['第','章'], ['-1'])
tofile1(rot+'ret.txt',ret)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值