Python os.lseek() 方法



lseek() 方法是 Python OS 模块的一个函数。它用于设置文件描述符相对于给定位置的当前位置。

在 Python 中,每个打开的文件都与文件描述符相关联。os.lseek() 方法可以将此文件描述符的指针移动到特定位置以进行读取和写入。

语法

以下是 Python lseek() 方法的语法 -


 os.lseek(fd, pos, how)

参数

Python lseek() 方法接受以下参数 -

  • fd − 这是需要处理的文件描述符。
  • pos − 它指定文件中相对于给定参数 “how” 的位置。你给 os.SEEK_SET 或 0 设置相对于文件开头 os 的位置。SEEK_CUR 或 1 可将其设置为相对于当前位置;操作系统。SEEK_END 或 2 可将其设置为相对于文件末尾。
  • how − 这是文件中的参考点。操作系统。SEEK_SET 或 0 表示文件的开头 os。SEEK_CUR 或 1 表示当前位置和 OS。SEEK_END 或 2 表示文件结束。

返回值

Python lseek() 方法不返回任何值。

以下示例显示了 lseek() 方法的用法。在这里,我们从头到下 100 个字节读取给定的文件。


import os, sys

# Open a file
fd = os.open( "txtFile.txt", os.O_RDWR|os.O_CREAT )

# Write one string
os.write(fd, b"This is test")

# Now you can use fsync() method.
os.fsync(fd)

# Now read this file from the beginning
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print ("File contains the following string:", str)

# Close opened file
os.close( fd )
print ("Closed the file successfully!!")

当我们运行上述程序时,它会产生以下结果——

File contains the following string: b'This is test.'
Closed the file successfully!!

在以下示例中,我们将文件指针移动到特定位置。当我们读取文件时,指针将从指定位置开始。


import os

# Open a file and create a file descriptor
fd = os.open("exp.txt", os.O_RDWR|os.O_CREAT)

# Write a string to the file
os.write(fd, b"Writing to the file")

# Moving the file pointer to specific position
os.lseek(fd, 7, os.SEEK_SET)

# Reading the file from specified position
print("Reading the file content:")
content = os.read(fd, 100)
print(content) 	

# Closing the file
os.close(fd)
print ("File Closed Successfully!!")

在执行上述程序时,它将显示以下结果 -

Reading the file content:
b' to the file'
File Closed Successfully!!