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

yipeiwu_com6年前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设计】。

相关文章

在ubuntu16.04中将python3设置为默认的命令写法

在ubuntu16.04中将python3设置为默认的命令写法

直接执行这两个命令即可: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100...

使用pytorch进行图像的顺序读取方法

产生此次实验的原因:当我使用pytorch进行神经网络的训练时,需要每次向CNN传入一组图像,并且这些图片的存放位置是在两个文件夹中: A文件夹:图片1a,图片2a,图片3a……图片10...

Python 自动刷博客浏览量实例代码

思路来源 今天很偶然的一个机会,听到别人在谈论现在的“刷量”行为,于是就激发了我的好奇心。然后看了下requests模块正好对我有用,就写了一个简单的测试用例。神奇的发现这一招竟然是管用...

浅谈Python中重载isinstance继承关系的问题

判断继承关系 通过内建方法 isinstance(object, classinfo) 可以判断一个对象是否是某个类的实例。这个关系可以是直接,间接或抽象。 实例的检查是允许重载的,可...

Python实现屏幕截图的两种方式

使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释。 一、Python调用windows API实现屏幕截图 好处是...