python3_文件操作中file.seek()方法

Posted mercywym123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3_文件操作中file.seek()方法相关的知识,希望对你有一定的参考价值。

1、seek函数 

 file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。

如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。

file.seek(0)是重新定位在文件的第0位及开始位置
file = open("test.txt","rw") #注意这行的变动
file.seek(3) #定位到第3个 

2、示例

from sys import argv

script,input_file = argv

def print_all(f):
print f.read()

def rewind(f):
f.seek(0)

def print_a_line(line_count,f):
print line_count,f.readline()

current_file = open(input_file)

print "First let\'s print the whole file:\\n"

print_all(current_file)

print "Now let\'s rewind,kind of like a tape."

rewind(current_file)

print "Now let\'s print three lines."

current_line = 1
print_a_line(current_line,current_file)

current_line = current_line + 1
print_a_line(current_line,current_file)

current_line = current_line + 1
print_a_line(current_line,current_file)

 

3、结果

 

其中test.txt内容如下:

 

this is the first line content typing in...
我是从键盘输入的内容,准备写入到文件中.
这是第三行。
这是第四行。
这是第五行。


4、示例2

 

>>> f=open("aaa.txt","w") #以只写的形式打开一个叫做aaa.txt的文件
>>> f.write("my name is liuxiang,i am come frome china") #写入内容
>>> f.close() #关闭文件
>>> f=open("aaa.txt","r") #以只读打开文件
>>> f.read() #读取内容
\'my name is liuxiang,i am come frome china\'
>>> f.seek(3,0) #“0”代表从文件开头开始偏移,偏移3个单位
>>> f.read(5) #从偏移之后的指针所指的位置(即“n”)开始读取5个字符
\'name \'
>>> f.tell() #显示现在指针指在哪个位置(即“i”的位置)
>>> f.readline() #读取这一行剩下的内容
\'is liuxiang,i am come frome china\'

 

>>> f.seek(0,2) #“2”代表从末尾算起,“0”代表偏移0个单位
>>> f.read()
\'\' #因为是从末尾算起,内容已结束。所以读取内容为空

 

以上是关于python3_文件操作中file.seek()方法的主要内容,如果未能解决你的问题,请参考以下文章

python 文件操作seek() 和 telll() 自我解释

Python中的seek函数 指针 使用教程

file.seek()

seek()方法的使用

Python的文件操作

ex20.py