ベストアンサー
構文:
fileObject.seek(offset[, whence])
- オフセット-これはファイル内の読み取り/書き込みポインタの位置です。
- whence −これはオプションで、デフォルトはファイルの絶対位置を意味する0、その他の値は現在の位置を基準にしたシークを意味する1、ファイルの終わりを基準にしたシークを意味する2です。
例 –
Sample.txt:
Assuming that "Sample.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
Pythonプログラム:
# Open a file
fo = open("Sample.txt", "r+")
print ("Name of the file: ", Sample.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: Sample.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
これがお役に立てば幸いです…
ありがとうございます:)
回答
読み取り用にファイルを開いたと仮定します(または書き込み、概念は同じままです)。
fh = open(“ foo.txt”、“ r”)
そしてf.readline()を使用してファイルを読み取りました。ファイル内の特定の位置にあるカーソルについて考えてみてください。たとえば、読み取るファイルを開いたばかりの場合、カーソル位置は0です。readline()を実行すると、位置が変わります。
これを試してください:
>>> fh=open(“foo.txt”, “r”)
>>> fh.read()
>>> fh.read()
‘’
line4を実行すると、何も実行されません表示されています。これは、2行目を実行した後、カーソルがすでにファイルの終わりまで移動しているためです。表示するものはこれ以上ありません。
seek()メソッドを使用してカーソルの位置を変更することができます。 seek()の最も簡単な使用法では、
>>> fh.seek(0)
>>> fh.read()
<を使用します。 / p>
ファイルの内容が再度表示されます。ここで起こったことは、カーソルがファイルの先頭に移動したことです。
seek()は2つのパラメータを取ります。
- 指定されたバイトオフセットに位置をリセットします
- from where-は、0-開始、1-現在の位置、または2-終了に対するオフセット位置を示します。
2番目のパラメーターのデフォルト値は0です。オフセット値は必須です。この関数を呼び出している間。