Python3-file-seek

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

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

説明

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

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

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

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

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

構文

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

fileObject.seek(offset[, whence])

パラメーター

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

戻り値

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

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

Assuming that 'foo.txt' file contains following text:
This is 1st line
This is 2nd line
This is 3rd line
This is 4th line
This is 5th line
#!/usr/bin/python3

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

line = fo.readlines()
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 opened file
fo.close()

結果

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

Name of the file:  foo.txt
Read Line: ['This is 1st line\n', 'This is 2nd line\n', 'This is 3rd line\n', 'This is 4th line\n', 'This is 5th line']
Read Line: This is 1st line