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