Select Language

AI Technology Community

5.7、Python tell()関数:現在の読み取り位置を取得する

ファイルはバイトストリームまたは文字ストリームと見なすことができます。最初に読み込まれた文字は、そのストリームの0番目の位置にあります。5つの文字を読み込んだ場合、現在はそのストリームの5番目の位置にあります。

私たちはtell()を使って現在の位置を取得することができ、これは整数を返します。以下の例はtell()の使い方を示しています。

try:
    file_obj1 = open(u"data.txt", "r")
    pos = file_obj1.tell()              # 最初は、位置は0であるはず
    print(u"1)現在の位置は%dです" % pos)
    data = file_obj1.read(5)            # 5バイトを読み出す
    print(u"%dバイトを読み出しました" % len(data))
    pos = file_obj1.tell()
    print(u"2)現在の位置は%dです" % pos)
    file_obj1.close()
except IOError:
   # ファイルが見つからない場合は、ファイルが存在しないことを通知
   print(u"ファイルが存在しません")

このスクリプトを実行すると、以下のように出力されます。

E:>python tellDemo1.py
1)現在の位置は0です
5バイトを読み出しました
2)現在の位置は5です


post
  • 14

    item of content
データを長期的に保存したい場合、最も簡単な方法はデータをディスクファイルに書き込むことです。これにより、プログラムを終了した後でも処理結果は長期的に有効です。
大規模ソフトウェアプロジェクトでは、ファイル操作は避けられません。この章では、普通のテキストファイルとバイナリファイルの操作方法について説明します。具体的には、ファイルを開く方法、ファイルの読み書き、ファイルモード、および with 文の使用方法などを含みます。