pythontxt搜索
① python查找txt文件中關鍵字
偽代碼:
1、遍歷文件夾下所有txt文件
rootdir='/path/to/xx/dir'#文件夾路徑
forparent,dirnames,filenamesinos.walk(rootdir):
forfilenameinfilenames:
2、讀取txt文件里的內容,通過正則表達式把txt里多篇文章拆分開來。得到一個列表:['{xx1}##NO','{xx2}','{xx3}##NO']
3、把上面得到的list寫到一個新的臨時文件里,比如:xx_tmp.txt,然後:shutil.move('xx_tmp.txt','xx.txt')覆蓋掉原來的文件
② 怎麼用python搜索文本並篩選出來
txtfile=open(r'test.txt',"r")
newtxtfile=open(r'new.txt',"w")
linelist=[]
forlineintxtfile:
linelist.append(line)
iflen(linelist)==4:
ifnotlinelist[1].startswith(r'aaa'):
newtxtfile.writelines(linelist)
linelist=[]
iflen(linelist)>1:
ifnotlinelist[1].startswith(r'aaa'):
newtxtfile.writelines(linelist)
eliflen(linelist)==1:
newtxtfile.writelines(linelist)
txtfile.close()
newtxtfile.close()
讀取文件test.txt,將每四行中第二行以aaa開始的去除,寫入新文件new.txt中
③ python讀取txt文件,查找到指定內容,並做出修改
def modifyip(tfile,sstr,rstr):
try:
lines=open(tfile,'r').readlines()
flen=len(lines)-1
for i in range(flen):
if sstr in lines[i]:
lines[i]=lines[i].replace(sstr,rstr)
open(tfile,'w').writelines(lines)
except Exception,e:
print e
modifyip('a.txt','a','A')
④ python 文本文件中查找指定的字元串
def find(lists):
for list0 in lists:
if list0.find('set internet Active')>=0:
if list0.find('#')>=0:
continue
else:
return 0 #有一行不帶#號的set internet Active,那麼返回0
return -1 #若沒有不帶號的set internet Active,那麼返回-1
if __name__=='__main':
lists = ['set internet Active','#set internet Active','# set internet Active']
#lists 是從文件中讀出內容的列表
findout=find(lists) #調用函數
print(findout) #列印結果
⑤ python 搜索一個指定txt 的字元串 並輸出其下面兩行
fromtkinterimport*
fromtkinterimportttk
fromtkinterimportfont
importos
importarrange
#課程的字典
crslst={}
crslst_in_num={}
#GUI
root=Tk()
#frame2
#右側的內容
frame2=ttk.Frame(root,borderwidth=5,relief="sunken")
frame2.grid(column=1,row=0)
#將數字轉換為漢字的字典
numtoch={1:'一',2:'二',3:'三',4:'四',5:'五'}
#設置課表周圍周一至周五和1至13的標簽
fornuminlist(range(1,6)):
ttk.Label(frame2,text='周'+numtoch[num]).grid(column=num,row=0)
emptylist=[]
fornuminlist(range(1,14)):
ttk.Label(frame2,text='第'+str(num)+'節').grid(column=0,row=num)
#課表主體
schd1=Listbox(frame2,height=13)
schd1.grid(column=1,row=1,rowspan=13,sticky=(N,S,E,W))
schd2=Listbox(frame2,height=13)
schd2.grid(column=2,row=1,rowspan=13,sticky=(N,S,E,W))
schd3=Listbox(frame2,height=13)
schd3.grid(column=3,row=1,rowspan=13,sticky=(N,S,E,W))
schd4=Listbox(frame2,height=13)
schd4.grid(column=4,row=1,rowspan=13,sticky=(N,S,E,W))
schd5=Listbox(frame2,height=13)
schd5.grid(column=5,row=1,rowspan=13,sticky=(N,S,E,W))
#設置字體
ft=font.Font(family='MicrosoftYaHei',size=12,weight='normal')
#為了便捷將五天的課表作為一list
daylist=(schd1,schd2,schd3,schd4,schd5)
#設置課表
fordayindaylist:
day['selectmode']='extended'
day['exportselection']=False
fornuminrange(1,14):
day.insert(0,'無課')
day['font']=ft
day['width']=10
#課表下四個按鈕和一個combobox
#改變顏色
defchcolor():
print("