Python readline()をマスター:効率的な行ごとファイル読み取り
Python readline()をマスター:効率的な行ごとファイル読み取り
readline()は、ファイルオブジェクトから次の完全な行を返す組み込みファイルメソッドです。返される文字列は改行文字(\n)で終わります。ファイル末尾に達すると空文字列を返します。
オプションでsize引数を渡して読み取るバイト数を制限できます。負の値または省略時は行全体を返します。
主な特徴
- 1回の呼び出しで1行完全に読み取り
- 最後の行で改行がない場合を除き、末尾に改行を付加
- テキストモードでは文字列、バイナリモードではbytesオブジェクトを返す
- オプションの
sizeパラメータ対応(デフォルトは-1)
構文
file_object.readline([size])
パラメータ
- size(int、オプション): 読み取るバイト数。デフォルトは-1(行全体)。
戻り値
次の行を含む文字列(またはbytes)、ファイル尽きた場合は空文字列。
例1: 最初の行を読む
demo.txtに以下の内容があると仮定:
Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line
Pythonコード:
with open("demo.txt", "r") as f:
first_line = f.readline()
print(first_line)
出力:
Testing - FirstLine
例2: size引数の使用
最初の行の最初の10文字のみ読み取り:
with open("demo.txt", "r") as f:
partial = f.readline(10)
print(partial)
出力:
Testing -
Pythonでの基本ファイルI/O
ファイルオープンはopen(path, mode)で処理。一般的なモード:
| モード | 説明 |
|---|---|
| r | 読み取り(デフォルト) |
| w | 書き込み(切り詰め) |
| a | 追記 |
| rb | バイナリ読み取り |
| wb | バイナリ書き込み |
ファイルを行ごとに読む
whileループとreadline()を使用:
with open("demo.txt", "r") as f:
line = f.readline()
while line:
print(line)
line = f.readline()
forループ使用(可読性で推奨):
with open("demo.txt", "r") as f:
for line in f:
print(line)
全行を一度に読む
Pythonのreadlines()は全行のリストを返します:
with open("test.txt", "r") as f:
lines = f.readlines()
print(lines)
出力例:
["Line No 1\n", "Line No 2\n", "Line No 3\n", "Line No 4\n", "Line No 5"]
まとめ
- 制御された行ごと読み取りには
readline()を使用 sizeで読み取りバイト数を制限;デフォルトは行全体- シンプルな反復には手動
whileループよりfor line in fileを推奨 - 全行をメモリに載せる必要がある場合は
readlines()が便利 - 常にファイルを閉じる;
with文で自動処理
Python
- Python str.count()マスター:文字と部分文字列のカウント実例集
- Python format()文字列を明確な例でマスター
- Python String.find()メソッド完全ガイド:構文、例、代替手法
- Pythonラムダ関数をマスターする:実例とベストプラクティス
- Python round()関数を実例で徹底解説
- Python map()関数をマスター:構文、例、ベストプラクティス
- Python timeit():実行時間測定の実例付きガイド
- Python collections.Counter:効率的なカウント、更新、演算操作
- Python type()とisinstance()の理解:実例付き解説
- Java String.indexOf()マスター:部分文字列検索と実践例
- Java String.compareTo()マスター:構文、ユースケース、実践例