title: Get position for file descriptor in Python
body: <p>Say, I have a raw numeric file descriptor and I need to get the current position in file based on it.</p>
  
  <pre><code>import os, psutil
  
  # some code that works with file
  lp = lib.open('/path/to/file')
  
  p = psutil.Process(os.getpid())
  fd = p.get_open_files()[0].fd  # int
  
  while True:
      buf = lp.read()
      if buf is None:
          break
      device.write(buf)
      print tell(fd)  # how to find where we are now in the file?
  </code></pre>
  
  <p>In the following code <code>lib</code> is a compiled library, that doesn't give access to the file object. In the loop I use the embedded method <code>read</code> which returns the processed data. The data and it's length doesn't relate to the file position, so I can't calculate the offset mathematically.</p>
  
  <p>I tried to use <code>fdopen</code>, as <code>fd = fdopen(p.get_open_files()[0].fd)</code>, but <code>print fd.tell()</code> returned only the first position in the file, which was not updating in the loop.</p>
  
  <p>Is there a way to get the current real time position in a file based on file descriptor?</p>