4

たとえば、生の数値ファイル記述子があり、それに基づいてファイル内の現在の位置を取得する必要があるとします。

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?

次のコードlibは、ファイル オブジェクトへのアクセスを許可しないコンパイル済みライブラリです。readループでは、処理されたデータを返す埋め込みメソッドを使用します。データとその長さはファイルの位置とは関係がないため、オフセットを数学的に計算することはできません。

fdopenをas として使用しようとしましたが、ループ内で更新されていないファイルの最初の位置のみfd = fdopen(p.get_open_files()[0].fd)が返されました。print fd.tell()

ファイル記述子に基づいて、ファイル内の現在のリアルタイム位置を取得する方法はありますか?

4

1 に答える 1