當前位置:首頁 » 編程語言 » python文件查找字元串

python文件查找字元串

發布時間: 2023-12-28 10:35:24

❶ 如何在python字元串列表中查找出指定字元所在字元串

python 字元串查找有4個方法,1 find,2 index方法,3 rfind方法,4 rindex方法。
1 find()方法:查找子字元串,若找到返回從0開始的下標值,若找不到返回-1
info = 'abca'
print info.find('a')##從下標0開始,查找在字元串里第一個出現的子串,返回結果:0

info = 'abca'
print info.find('a',1)##從下標1開始,查找在字元串里第一個出現的子串:返回結果3

info = 'abca'
print info.find('333')##返回-1,查找不到返回-1

2 index()方法:
python 的index方法是在字元串里查找子串第一次出現的位置,類似字元串的find方法,不過比find方法更好的是,如果查找不到子串,會拋出異常,而不是返回-1
info = 'abca'
print info.index('a')
print info.index('33')

rfind和rindex方法用法和上面一樣,只是從字元串的末尾開始查找

❷ python3在文件夾中查找指定文件方法封裝

不是人人都能活的低調,可以低調的基礎是隨時都能高調。

上一篇: configobj讀寫.ini配置文件方法封裝
下一篇: python3使用hmac、hashlib加密字元串方法封裝

本篇文章介紹一種方法在文件夾中查找指定文件:
1、方法【get_all_file】:根據給出的路徑進行遞歸,找到文件夾下所有的文件,以生成器的方式返回(佔用內存低),也可以添加到列表(list)(佔用內存高)。
2、方法【expand_list】:遞歸嵌套列表,展開列表,此步驟根據數據結構,如果自己的文件的地址是多層嵌套的列表,可以使用該方法展開列表。
3、方法【find_file】:查找指定文件。

以上方法根據自己的需求進行選擇使用,有不足的地方,請各位大佬指出。

如果感覺本文對您有幫助可以點個贊哦

本文僅供交流學習,請勿用於非法途徑

僅是個人意見,如有想法,歡迎留言

❸ 如何用Python語言實現在一個文件中查找特定的字元串

用正則表達式

>>>s='helloworld'
>>>importre
>>>re.search('wor',s)
<_sre.SRE_Matchobject;span=(6,9),match='wor'>

❹ 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("33[1;42m33[0m")


butdont=ttk.Button(frame2,text='不上課',command=chcolor).grid(column=3,row=15)

#清除選擇
butusel=ttk.Button(frame2,text='清除選擇').grid(column=4,row=15)
Label(frame2,text='選擇課表').grid(column=0,row=15,columnspan=2,sticky=W)
outputlist=ttk.Combobox(frame2,textvariable=['待選','ok'])
outputlist.grid(column=1,row=15,columnspan=2,sticky=E)

#frame1
#左側的內容
frame1=ttk.Frame(root,borderwidth=5,relief="sunken")
frame1.grid(column=0,row=0)

#設置上方的label
Label(frame1,text='輸入課程信息').grid(column=0,row=0,columnspan=2)

#輸入課程號的Label和entry
Label(frame1,text='課程號:').grid(column=0,row=1,sticky=W)
coursenum=StringVar()
inputcoursenum=ttk.Entry(frame1,textvariable=coursenum,width=13)
inputcoursenum.grid(column=1,row=1,sticky=E)

#已選課程的listbox
Label(frame1,text='已選課程').grid(column=0,row=3,sticky=W)
courselist=Listbox(frame1,height=8,width=13,exportselection=False)
courselist.grid(column=0,row=4,columnspan=2,rowspan=8,sticky=W)


defisrtcrs():#加入課程
k=0
num=0
print(num,courselist.size())
whilenum<courselist.size():
ifinputcoursenum.get()==courselist.get(num):
k=1
num+=1
ifk==0:
courselist.insert(0,inputcoursenum.get())
crslst[inputcoursenum.get()]=[]
crslst_in_num[inputcoursenum.get()]=[]
print(crslst)
print(crslst_in_num)
return


defdelcrs():#刪除課程
#print(courselist.curselection())
#print(courselist.get(courselist.curselection()))
crslst_in_num.pop(courselist.get(courselist.curselection()))
crslst.pop(courselist.get(courselist.curselection()))
courselist.delete(courselist.curselection())
print(crslst)
print(crslst_in_num)
return


defshwtm(*args):#當選中一門課程,時間listbox改為對應的時間
print('here')
timelist.delete(0,END)
tmlst=crslst[courselist.get(courselist.curselection())]
iflen(tmlst)!=0:
fortimeintmlst:
timelist.insert(END,time)
return


#courselist的選中事件
courselist.bind('<<ListboxSelect>>',shwtm)

#加入課程和刪除課程的按鈕
addcourse=ttk.Button(frame1,text='加入課程',command=isrtcrs).grid(column=0,row=2)
deletcourse=ttk.Button(frame1,text='刪除課程',command=delcrs).grid(column=0,row=12)

#已選課程的時間listbox
Label(frame1,text='時間列表').grid(column=1,row=3,sticky=E)
timelist=Listbox(frame1,height=8,width=13,exportselection=False)
timelist.grid(column=1,row=4,columnspan=2,rowspan=8,sticky=E)


defisrttim():#加入時間
num=1
time=[]
time_in_num=[]
strofod=''
fordayindaylist:
iflen(day.curselection())!=0:
strofod=numtoch[num]
temp=day.curselection()
forclsintemp:
strofod=strofod+''+str(cls+1)
time_in_num.append((num-1)*13+(cls+1))
num+=1
iflen(strofod)!=0:
time.append(strofod)
strofod=[]
iflen(time)!=0:
timelist.insert(END,time)
crslst[courselist.get(courselist.curselection())].append(time)
crslst_in_num[courselist.get(courselist.curselection())].append(time_in_num)
print(crslst)
print(crslst_in_num)
return


defdeltim():#刪除時間
print(timelist.curselection())
forselintimelist.curselection():
crslst[courselist.get(courselist.curselection())].pop(sel)
crslst_in_num[courselist.get(courselist.curselection())].pop(sel)
timelist.delete(timelist.curselection())
print(crslst)
print(crslst_in_num)
return


#加入時間和刪除時間的按鈕
addtime=ttk.Button(frame1,text='加入時間',command=isrttim).grid(column=1,row=2)
delelttime=ttk.Button(frame1,text='刪除時間',command=deltim).grid(column=1,row=12)


defcreatcourselist():#建立課程列文本文檔
withopen('slist.txt','w')asslist:
slist.writelines(str(len(crslst_in_num))+' ')#課程數
forcrs,tlstincrslst_in_num.items():
slist.writelines(crs+' ')#課程名
slist.writelines(str(len(tlst))+' ')#可選時間數
fortimeintlst:
slist.writelines(str(len(time))+' ')#某一可選時間的節數
fornintime:
slist.writelines(str(n)+' ')#第幾節
return


defshowoutput():#在右側的選擇課表combobox里顯示可選課表
filename_list=[]
forfilename_einos.listdir('output'):
filename_list.append(filename_e)
outputlist['values']=filename_list
return


defarrg():#排課
print('here')
creatcourselist()
forfilename_einos.listdir('output'):
os.remove('output/'+filename_e)
arrange.arrangement_mod()
showoutput()
return


#當用戶選擇某一可選課表時,展示課表
defshowcrslist(*args):
print(outputlist.get())
forfilename_einos.listdir('output'):#尋找所選項對應的文件
iffilename_e==outputlist.get():
withopen('output/'+filename_e,'r')asf_r:#打開對應的文件
nr=f_r.readlines()#按行讀取內容
k=0
fordayindaylist:
day.delete(0,END)#刪除課表的原有內容
fornuminrange(1,14):
#print(nr[k])
#加入新的內容
ifnr[k]=='0 ':
day.insert(END,'')
else:
day.insert(END,nr[k].strip())
k+=1
break#完成之後退出循環
return


#可選課表combobox選擇事件
outputlist.bind('<<ComboboxSelected>>',showcrslist)

#排課的按鈕
run=ttk.Button(frame1,text='排課',command=arrg).grid(column=0,row=13,columnspan=2)

#frame_search
frame_s=ttk.Frame(root,borderwidth=5,relief='sunken')
frame_s.grid(column=2,row=0)
ttk.Label(frame_s,text='搜索課程').grid(column=0,row=0,columnspan=2)
ttk.Label(frame_s,text='課程號:').grid(column=0,row=1,sticky=E)

crs_num=StringVar()
crs_search=ttk.Entry(frame_s,textvariable=crs_num,width=12).grid(column=1,row=1,sticky=E)

search_crs=ttk.Button(frame_s,text='搜索').grid(column=0,row=2)
adp=ttk.Button(frame_s,text='加入').grid(column=1,row=2)

ttk.Label(frame_s,text='課程號:').grid(column=0,row=3,columnspan=2,sticky=W)
ttk.Label(frame_s,text='課程名:').grid(column=0,row=4,columnspan=2,sticky=W)
ttk.Label(frame_s,text='上課時間:').grid(column=0,row=5,columnspan=2,sticky=W)

root.mainloop()

❺ python怎麼樣獲取某個文件行指定字元串後面的字元

把每行讀取後去掉前面不要的部分就可以了,這種簡單處理不需要用正則,正則是用來進行復雜處理的。
比如讀一行到s,然後
r,_,s=s.partition('指定字元串')
現在,r是不要的部分,s就是指定字元串後的部分,如果有結果的話,_的值也是指定字元串。

❻ 如何利用python語言匹配文本文件中的指定字元串,並將其所在行的後面幾

s="指定字元串"
f=open("文本文件名")
n=int(raw_input("輸入輸出的行數:"))
line=f.readline()
whileline:
ifsinline:
printline
foriinrange(n):
line=f.readline()
ifline:
printline
else:
break
ifnotline:break
line=f.readline()

❼ python如何實現 文件中查找上/下一個字元串

用find()函數就可以
比如:
fpr=open("你的文件名")
n=0
for line in fpr:
n+=1
if line.find("12efde")!=-1:
pirnt n

你要的是這樣話,你可以先把數據讀到列表中,然後用for循環來實現,順序查找就i增加,查找上一個i減少,查找到後用break結束就行了,百萬行的確有點到,讀到文本不知道會不會卡,你試下看,如果你會用資料庫存儲數據的話會好些

熱點內容
怎麼看pppoe密碼 發布:2024-11-30 08:35:35 瀏覽:509
sandisk16gb存儲卡 發布:2024-11-30 08:34:42 瀏覽:953
eclipsejava反編譯 發布:2024-11-30 08:34:37 瀏覽:899
yy靜態頭像源碼 發布:2024-11-30 08:30:21 瀏覽:680
javaparseint 發布:2024-11-30 08:23:12 瀏覽:909
抖音密碼箱保險在哪裡 發布:2024-11-30 08:10:43 瀏覽:998
廣告文學腳本格式 發布:2024-11-30 08:09:57 瀏覽:634
期末到了解壓的方法 發布:2024-11-30 07:53:49 瀏覽:865
sqlce資料庫 發布:2024-11-30 07:41:21 瀏覽:726
奇瑞5x配置如何 發布:2024-11-30 07:39:50 瀏覽:642