3

これら2つに違いはありますか?

A:

# seek back by difference from current position
fp.seek(last_read_byte - fp.tell(), os.SEEK_CUR)

B:

# seek by absolute position from start of the file
fp.seek(last_read_byte)

(fpは Python ファイル オブジェクトです)

B)が最初からファイルの読み取りを開始する可能性があると思っただけです。そうであるかどうかを確認するにはどうすればよいですか?
こんなくだらないこと気にしなくていいの?

4

1 に答える 1

5

seek を呼び出しても、ファイル全体を最初から再読み込みするわけではありません。

そして、私は絶対シークを使用します-正しく取得して読み取る方が簡単です。テルのために余分な可能性のあるシステムコールを無駄にしません。ファイルが呼び出し間で変更された場合、競合状態はありません...

パフォーマンスが心配な場合は、パフォーマンスがどのように機能するかを推測してパフォーマンスへの影響を推測するよりも、パフォーマンスをテストする方が便利であるだけでなく、簡単です。大きなファイルを作成し、時間内に両方のバージョンを試すだけです。

于 2013-10-19T22:05:17.563 に答える