Illegal seek error with seek() and os.lseek()

krishna2prasad at gmail.com krishna2prasad at gmail.com
Tue May 14 15:00:22 EDT 2013


I am trying to use os.open() and os.lseek() methods to operate on a device file in Linux. My code goes something like this -

 # first, open the file as a plain binary
 try:
     self.file = open(/dev/relpcfpga, "r+b", buffering=0)
 
 except IOError:
     raise IOError ('Failed to open.')

 # Figure out file size
  self.file.seek(0, 2)
  self.file_size = self.file.tell()
 

The method seek() complains "OSError: [Errno 29] Illegal seek"
The device relpcfpga is a char device.

The same code works with a normal text file.
I have tried to use os.open() and os.lseek() methods, but see the same error.
Is there a different method to operate on device files?


Thanks!



More information about the Python-list mailing list