Python中index()和seek()的用法(詳解)
1、index()
一般用處是在序列中檢索參數(shù)并返回第一次出現(xiàn)的索引,沒找到就會(huì)報(bào)錯(cuò),比如:
>>> t=tuple('Allen') >>> t ('A', 'l', 'l', 'e', 'n') >>> t.index('a') Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> t.index('a') ValueError: tuple.index(x): x not in tuple >>> t.index('e') 3 >>> t.index('l') 1
但參數(shù)可能會(huì)出現(xiàn)很多次,要如何做呢?
index()函數(shù)的完整語(yǔ)法是這樣的:
str.index(str, beg=0, end=len(string))
str – 指定檢索的字符串
beg – 開始索引,默認(rèn)為0。
end – 結(jié)束索引,默認(rèn)為字符串的長(zhǎng)度。
所以我們可以重新設(shè)置開始索引來(lái)繼續(xù)尋找,如:
>>> t.index('l',2) 2
因?yàn)榈谝粋€(gè)'l'的出現(xiàn)位置是1,所以我們將開始索引加1繼續(xù)尋找,果然,在索引為2的位置又找到了'l'。
2、seek()
seek()函數(shù)是屬于文件操作中的函數(shù),用來(lái)移動(dòng)文件讀取指針到指定位置。
語(yǔ)法:
fileObject.seek(offset[, whence])
offset – 開始的偏移量,也就是代表需要移動(dòng)偏移的字節(jié)數(shù)
whence:可選,默認(rèn)值為 0。給offset參數(shù)一個(gè)定義,表示要從哪個(gè)位置開始偏移;0代表從文件開頭開始算起,1代表從當(dāng)前位置開始算起,2代表從文件末尾算起。
demo.py
#test.txt #first line #second line #third line f=open('test.txt','r') print(f.readline()) print(f.readline()) f.seek(0,0) print(f.readline()) f.seek(1,0) print(f.readline())
控制臺(tái)輸出:
first line second line first line irst line [Finished in 0.3s]
readline()函數(shù)會(huì)讀取整行字符串,所以文件讀取指針會(huì)移動(dòng)到下一行。
以上這篇Python中index()和seek()的用法(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作示例
這篇文章主要介紹了Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)異常捕獲、傳遞、處理等常見操作技巧,需要的朋友可以參考下2019-09-09python微信公眾號(hào)開發(fā)簡(jiǎn)單流程實(shí)現(xiàn)
這篇文章主要介紹了python微信公眾號(hào)開發(fā)簡(jiǎn)單流程實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Python實(shí)現(xiàn)批量合并多個(gè)txt文件并生成Excel文件
在數(shù)據(jù)處理中,有時(shí)會(huì)面臨合并多個(gè)文本文件的任務(wù),本文將詳細(xì)介紹如何使用Python批量合并多個(gè)txt文件,并將其生成為一個(gè)Excel文件,需要的可以參考下2023-12-12Python爬蟲爬取博客實(shí)現(xiàn)可視化過(guò)程解析
這篇文章主要介紹了Python爬蟲爬取博客實(shí)現(xiàn)可視化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06