Python 3 - os.lseek() Method


The method lseek() sets the current position of file descriptor fd to the given position pos, modified by how.


Following is the syntax for lseek() method −

os.lseek(fd, pos, how)


  • fd − This is the file descriptor, which needs to be processed.

  • pos − This is the position in the file with respect to given parameter how. You give os.SEEK_SET or 0 to set the position relative to the beginning of the file, os.SEEK_CUR or 1 to set it relative to the current position; os.SEEK_END or 2 to set it relative to the end of the file.

  • how − This is the reference point with-in the file. os.SEEK_SET or 0 means beginning of the file, os.SEEK_CUR or 1 means the current position and os.SEEK_END or 2 means end of the file.

Defined pos constants

  • os.SEEK_SET - 0
  • os.SEEK_CUR - 1
  • os.SEEK_END - 2

Return Value

This method does not return any value.


The following example shows the usage of lseek() method.

import os, sys

# Open a file
fd = "foo.txt", os.O_RDWR|os.O_CREAT )

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

# Now you can use fsync() method.
# Infact here you would not be able to see its effect.

# Now read this file from the beginning
os.lseek(fd, 0, 0)
line =, 100)
print ("Read String is : ", line.decode())

# Close opened file
os.close( fd )

print ("Closed the file successfully!!")


When we run the above program, it produces the following result −

Read String is :  This is test
Closed the file successfully!!