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