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)