Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでファイル内の現在の位置を取得する方法【tellメソッド】

Pythonでファイル内の現在の位置を取得する方法

Pythonでは、ファイルオブジェクトのtell()メソッドを使うことで、現在の読み書き位置(ファイルポインタの位置)を取得できます。この位置は、ファイルの先頭からのバイト数(オフセット)として返されます。

tellメソッドの基本的な使い方

例えば、「Hello\nworld」という内容が書かれたmy_file.txtというファイルがあるとします。

f = open('my_file.txt', 'r')
f.readline()
print(f.tell())
f.close()

上記のコードを実行すると、出力は 6 になります。

これは、f.readline() が1行目の「Hello\n」を読み込んだ直後、ファイルポインタが2行目の「world」の先頭を指しているためです。「Hello\n」は6文字(6バイト)なので、位置は6となります。

補足:seekメソッドとの組み合わせ

tell()で取得した位置は、seek()メソッドに渡すことで、任意の位置から再度読み書きを行うことができます。

f = open('my_file.txt', 'r')
print(f.tell())      # 0(ファイルを開いた直後は先頭)
f.readline()
print(f.tell())      # 6
f.seek(0)            # ファイルの先頭に戻る
print(f.readline())  # Hello
f.close()

なお、上記のコード例はPython 3の構文(print(f.tell()))で記述しています。Python 2では print f.tell() のように括弧なしで記述していましたが、現在はPython 3の形式を使うことをおすすめします。

  1. PythonでJSONファイルを読み込む方法をわかりやすく解説

    JSONファイルとは?JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットの一つです。人間にとって読み書きしやすく、機械にとっても解析や生成が容易なため、Webアプリケーションにおいてサーバーからクライアントへデータを送信する際などに広く利用されています。サンプルJSONファイル例1: { fruit: Apple, size: Large, color: Red }例2: { name: Karan, languages: [English, French] }JSONファイルの拡張子は「.json」です。P

  2. Python Tkinterでメッセージボックスの表示位置を変更する方法

    Tkinterを使ってダイアログボックスを作成したい場合、MessageBoxライブラリを利用すると、さまざまな種類のダイアログを手軽に生成できます。作成したダイアログボックスの位置を調整するには、Toplevelウィジェットを使用します。Toplevelは、現在のウィンドウを最前面に優先表示し、他の処理をバックグラウンドで維持する役割を持ちます。さらに、title(タイトル)、message(メッセージ)、details(詳細)といった機能も備えています。メッセージボックスウィジェットの表示位置を変更するには、geometryメソッドを使います。コード例# tkinterライブラリをインポー