Python seek() 方法

Python seek() 方法

Python seek() 方法用于改变文件句柄的当前位置。文件句柄类似于一个光标,用于定义要在文件中读取或写入的数据的位置。

语法:

fi.seek(offset, from_where), where fi is the file pointer

参数:

Offset: 用于定义向前移动的位置数。

from_where: 用于定义参考点。

注意:Python 中的 seek() 方法不返回任何值。

from_where 参数用于选择参考点。它可以接受三个值:

  • 0: 0 值用于将 whence 参数设置为文件开头。
  • 1: 1 值用于将 whence 参数设置为文件的当前位置。
  • 2: 2 值用于将 whence 参数设置为文件的末尾。

from_where 参数默认设置为 0。因此,在文本模式下,除非偏移量等于 0,否则无法将参考点设置为当前位置或末尾位置。

示例1: (用户需要读取包含以下文本的文本文件:

“This is the sentence I am Writing to show the example of the seek() method working in Python.”

fi = open("text.txt", "r")
# the second parameter of the seek method is by default 0
fi.seek(30)
# now, we will print the current position
print(fi.tell())

print(fi.readline())
fi.close()

输出:

30
ing to show the example of the seek() method working in Python.

示例文本文件 –

# let's assuming the text file has following 5 lines
# line 1: This is the sentence I am Writing to show the example of the seek() 
# method working in Python.
# line 2: The line no. 2 for showing the second method of writing the seek() 
# method is python
# Line 3: the line no. 3 for showing the second method 
# Line 4: the line no. 4 for showing the second method 
# Line 5: the line no. 5 for showing the second method 

示例2:(方法2)

fi = open ("text.txt", "r+")
print ("Name of the file: ", fi.name)

line_1 = fi.readline()
print ("Read Line: %s" % (line_1))

# Again, set the pointer to the beginning
fi.seek (0, 1)
line_2 = fi.readline()
print ("Read Line: %s" % (line_2))

# Close opend file
fi.close()

输出:

Name of the file:  text.txt
Read Line: This is the sentence I am Writing to show the example of the seek() method working in Python.

Read Line: The line no. 2 for showing the second method of writing the seek() method is python

seek() 方法在打开文件为二进制模式时也可以使用负偏移量。

示例3: (负偏移量)

fi = open ("text.txt", "rb")

# the user is setting the reference point to thirtieth position to the left from 
# end
fi.seek (-70, 2)

# now print the current position
print (fi.tell())

# now the user will Convert the binary to string 
print (fi.readline().decode('utf-8'))

fi.close()

输出:

25
 Writing to show the example of the seek() method working in Python.

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程