Python中index()和seek()的用法(详解)

yipeiwu_com5年前Python基础

1、index()

一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如:

>>> 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

但参数可能会出现很多次,要如何做呢?

index()函数的完整语法是这样的:

str.index(str, beg=0, end=len(string))

str – 指定检索的字符串
beg – 开始索引,默认为0。
end – 结束索引,默认为字符串的长度。

所以我们可以重新设置开始索引来继续寻找,如:

>>> t.index('l',2)
2

因为第一个'l'的出现位置是1,所以我们将开始索引加1继续寻找,果然,在索引为2的位置又找到了'l'。

2、seek()

seek()函数是属于文件操作中的函数,用来移动文件读取指针到指定位置。

语法:

fileObject.seek(offset[, whence])

offset – 开始的偏移量,也就是代表需要移动偏移的字节数

whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,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())

控制台输出:

first line

second line

first line

irst line

[Finished in 0.3s]

readline()函数会读取整行字符串,所以文件读取指针会移动到下一行。

以上这篇Python中index()和seek()的用法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现读取目录所有文件的文件名并保存到txt文件代码

代码: (使用os.listdir) 复制代码 代码如下: import os def ListFilesToTxt(dir,file,wildcard,recursion): &nb...

python编程之requests在网络请求中添加cookies参数方法详解

哎,好久没有学习爬虫了,现在想要重新拾起来。发现之前学习爬虫有些粗糙,竟然连requests中添加cookies都没有掌握,惭愧。废话不宜多,直接上内容。 我们平时使用requests...

Python3安装psycopy2以及遇到问题解决方法

Python3安装psycopy2以及遇到问题解决方法

事先在网上搜索了一大圈,头都大了,看到那么多文章写道在python里安装psycopg2的各种坑和各种麻烦,各种不成功。搜索了一下午,索性外出放松。晚饭后,又继续上psycopg2官网(...

pytorch中的transforms模块实例详解

pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲解几种最常用的函数,详细的内容还请参考pyto...

使用优化器来提升Python程序的执行效率的教程

如果不首先想想这句Knuth的名言,就开始进行优化工作是不明智的。可是,你很快写出来加入一些特性的代码,可能会很丑陋,你需要注意了。这篇文章就是为这时候准备的。 那么接下来就是一些很有用...