どういった文脈でseek()
メソッドを使っている話なのかわかりませんが、csv
モジュールのドキュメントあたりで見かけたということでしょうか。
Pythonではファイルオブジェクトの基礎としてio
モジュールが用意されています。基本的なメソッドであるfileno
、seek
、truncate
、read
、write
などはいずれも、オペレーティングシステムのプログラミングインタフェース (システムコール) をPythonで使えるようにしたものです。seek
メソッドはlseek
システムコールに対応しています[1]。POSIXとLinuxでの説明は次のようになっています。
Upon successful completion, the resulting offset, as measured in bytes from the beginning of the file, shall be returned. (...)
- Linux Programmer's Manual (2): lseek
成功した場合、 lseek() は結果のファイル位置をファイルの先頭からのバイト数で返す。(...)
Pythonのseek
メソッドでは「新しい絶対位置を返します。」となっていますが、上の説明と同じことですね。
ファイルの読み書きはオペレーティングシステムの機能と関連が深いので、システムコールについて知っていると理解しやすいです。他のシステムコールについても調べてみられるとよいとおもいます。
[1] fileno
、truncate
、read
、write
という名前のシステムコールがあります (なぜかseekだけ、システムコールの名前には前にl
がついています)。