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

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()的用法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python中List.index()方法的使用教程

    index()方法返回obj出现在列表中最低位索引. 语法 以下是index()方法的语法: list.index(obj) 参数 obj -- 这是被找到的对象 返回值 此方法返回找到的对象的索引,否则抛出一个异常,表明没有找到对应值 例子 下面的例子显示了index()方法的使用 #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc']; print "Index for xyz : ", aList.index( 'xyz' )

  • 在Python中操作文件之seek()方法的使用教程

    seek()方法在偏移设定该文件的当前位置.参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当前位置,2表示相对于文件的末尾. 没有返回值.需要注意的是,如果该文件被打开或者使用'a'或'A+'追加,任何seek()操作将在下次写撤消. 如果该文件只打开使用"a"的追加模式写,这种方法本质上是一个空操作,但读使能(模式'a+'),它仍然在追加模式打开的文件非常有用. 如果该文件在文本模式下使用"t",只有tell()返回的偏移开都是

  • Python中的index()方法使用教程

    index()方法确定字符串str,如果起始索引beg和结束索引end在末尾给出了找到字符串或字符串的一个子串.这个方法与find()方法一样,只是如果没有找到子符趾会抛出一个异常. 语法 以下是index()方法的语法: str.index(str, beg=0 end=len(string)) 参数 str -- 此选项指定要搜索的字符串. beg -- 这是开始索引,默认情况下是 0. end -- 这是结束索引,默认情况下它等于该字符串的长度. 返回值 方法返回索引,如果找到这个str:

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

    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') V

  • Python中flatten( )函数及函数用法详解

    flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列表不适用!. a.flatten():a是个数组,a.flatten()就是把a降到一维,默认是按行的方向降 . a.flatten().A:a是个矩阵,降维后还是个矩阵,矩阵.A(等效于矩阵.getA())变成了数组.具体看下面的例子: 1.用于array(数组)对象 >>> from n

  • 对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> string 系统介绍中是:读取标准输入的字符串.因此,无论输入的是数字或者字符或者其他,均被视为字符格式. 如: print "Please input a num:" k = raw_input() print k print type(k) 运行结果为: Please input

  • 基于Python中求和函数sum的用法详解

    基于Python中求和函数sum的用法详解 今天在看<集体编程智慧>这本书的时候,看到一段Python代码,当时是百思不得其解,总觉得是书中排版出错了,后来去了解了一下sum的用法,看了一些Python大神写的代码后才发现是自己浅薄了!特在此记录一下.书中代码段摘录如下: from math import sqrt def sim_distance(prefs, person1, person2): # 得到shared_items的列表 si = {} for item in prefs[p

  • 对python中assert、isinstance的用法详解

    1. assert 函数说明: Assert statements are a convenient way to insert debugging assertions into a program: assert语句是一种插入调试断点到程序的一种便捷的方式. 使用范例: assert 3 == 3 assert 1 == True assert (4 == 4) print('-----------') assert (3 == 4) ''' 抛出AssertionError异常,后面程序不

  • Python中 Global和Nonlocal的用法详解

    nonlocal 和 global 也很容易混淆.简单记录下自己的理解. 解释 global 总之一句话,作用域是全局的,就是会修改这个变量对应地址的值. global 语句是一个声明,它适用于整个当前代码块. 这意味着列出的标识符将被解释为全局变量. 尽管自由变量可能指的是全局变量而不被声明为全局变量. global 语句中列出的名称不得用于该全局语句之前的文本代码块中. global 语句中列出的名称不能定义为形式参数,也不能在 for 循环控制目标. class 定义.函数定义. impo

  • Python中with及contextlib的用法详解

    本文实例讲述了Python中with及contextlib的用法.分享给大家供大家参考,具体如下: 平常Coding过程中,经常使用到的with场景是(打开文件进行文件处理,然后隐式地执行了文件句柄的关闭,同样适合socket之类的,这些类都提供了对with的支持): with file('test.py','r') as f : print f.readline() with的作用,类似try...finally...,提供一种上下文机制,要应用with语句的类,其内部必须提供两个内置函数__

  • Python中os模块功能与用法详解

    本文实例讲述了Python中os模块功能与用法.分享给大家供大家参考,具体如下: OS模块 Python的os模块封装了常见的文件和目录操作,本文只是列出部分常用的方法,更多的方法可以查看官方文档. 下面是部分常见的用法: 方法 说明 os.mkdir 创建目录 os.rmdir 删除目录 os.rename 重命名 os.remove 删除文件 os.getcwd 获取当前工作路径 os.walk 遍历目录 os.path.join 连接目录与文件名 os.path.split 分割文件名与目

  • python中startswith()和endswith()的用法详解

    startswith()方法 Python startswith() 方法用于检查字符串是否是以指定子字符串开头 如果是则返回 True,否则返回 False.如果参数 beg 和 end 指定值,则在指定范围内检查. str.startswith(str, beg=0,end=len(string)); 参数 str --检测的字符串. strbeg --可选参数用于设置字符串检测的起始位置. strend --可选参数用于设置字符串检测的结束位置. 返回值 如果检测到字符串则返回True,否

  • Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如下: 4.基本的使用方法如下: #导入必要的模块 import numpy as np import matplotlib.pyplot as plt #产生测试数据 x = np.arange(1,10) y = x fig = plt.figure() ax1 = fig.add_subplot

随机推荐