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.

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程