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.