Python-file-seek

提供:Dev Guides
移動先:案内検索

Pythonファイルのseek()メソッド

説明

Pythonファイルメソッド* seek()*は、オフセットでのファイルの現在位置を設定します。 whence引数はオプションで、デフォルトは0です。これはファイルの絶対配置を意味し、他の値は1で現在の位置を基準にシークすることを意味し、2はファイルの末尾を基準にシークすることを意味します。

戻り値はありません。 ファイルが「a」または「a +」のいずれかを使用して追加するために開かれている場合、次の書き込みですべてのseek()操作が取り消されることに注意してください。

ファイルが 'a’を使用して追加モードでのみ書き込み用に開かれている場合、このメソッドは基本的にノーオペレーションですが、読み取りが有効になっている(モード 'a +')追加モードで開かれたファイルに対しては引き続き有用です。

ファイルが「t」を使用してテキストモードで開かれている場合、tell()によって返されるオフセットのみが有効です。 他のオフセットを使用すると、未定義の動作が発生します。

すべてのファイルオブジェクトがシーク可能であるわけではないことに注意してください。

構文

以下は* seek()*メソッドの構文です-

fileObject.seek(offset[, whence])

パラメーター

  • オフセット-これは、ファイル内の読み取り/書き込みポインタの位置です。
  • whence -これはオプションであり、デフォルトは0です。これは絶対ファイル位置を意味し、他の値は1が現在位置を基準にシークすることを意味し、2はファイルの終わりを基準にシークすることを意味します。

戻り値

このメソッドは値を返しません。

次の例は、seek()メソッドの使用方法を示しています。

Python is a great language
Python is a great language
#!/usr/bin/python

# Open a file
fo = open("foo.txt", "rw+")
print "Name of the file: ", fo.name

# Assuming file has following 5 lines
# This is 1st line
# This is 2nd line
# This is 3rd line
# This is 4th line
# This is 5th line

line = fo.readline()
print "Read Line: %s" % (line)

# Again set the pointer to the beginning
fo.seek(0, 0)
line = fo.readline()
print "Read Line: %s" % (line)

# Close opend file
fo.close()

上記のプログラムを実行すると、次の結果が生成されます-

Name of the file:  foo.txt
Read Line: Python is a great language.

Read Line: Python is a great language.