カテゴリ: Python 更新日: 2025/12/18

Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())

Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())

先生と生徒の会話形式で理解しよう

生徒

「Pythonでテキストファイルを読み込むときに、一行ずつ処理する方法ってありますか?」

先生

「はい、Pythonにはreadline()readlines()という便利なメソッドがあります。これを使えば一行ごとの処理ができますよ。」

生徒

「全部まとめて読み込むのとは何が違うんですか?」

先生

「全部読み込むとメモリを多く使いますが、一行ずつなら大きなファイルでも安全に処理できます。では詳しく見ていきましょう。」

-

1. readline() とは?

1. readline() とは?
1. readline() とは?

readline()は、テキストファイルから1行だけを読み込むための基本的なメソッドです。呼び出すたびに次の行が順番に取得されるしくみなので、大きなファイルでも少しずつ処理できるのが大きな特徴です。また、読み込んだ行には改行文字\nが含まれるため、画面にきれいに表示したい場合はstrip()を使って取り除くことがよくあります。

まずは、実際に1行ずつ読み進める簡単な例を見てみましょう。初心者でも動きを理解しやすいサンプルです。


with open("sample.txt", "r", encoding="utf-8") as f:
    line = f.readline()     # 最初の1行を読み込む
    while line:             # 行がある間はループ
        print(line.strip()) # 行末の改行を削除して表示
        line = f.readline() # 次の行を読み込む

1行目のテキスト
2行目のテキスト
3行目のテキスト

この方法では、ファイルの行を順番に読みながら処理できるため、ログのような行数が多いファイルでも安全に扱えます。「少しずつ確実に読み進めたい」ときに、readline()はとても役立つ基本の読み込み方法です。

2. readlines() とは?

2. readlines() とは?
2. readlines() とは?

readlines()は、ファイル全体を一度に読み込み、各行を要素とするリストとして返します。短いファイルならこちらが便利です。


with open("sample.txt", "r", encoding="utf-8") as f:
    lines = f.readlines()

for line in lines:
    print(line.strip())

1行目のテキスト
2行目のテキスト
3行目のテキスト

ただし、大きなファイルだとメモリをたくさん使うので注意が必要です。

3. forループを使った行読み込み

3. forループを使った行読み込み
3. forループを使った行読み込み

Pythonのファイルオブジェクトは直接ループで回すことができます。内部的にはreadline()を使っており、効率的で簡潔です。


with open("sample.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())

この方法は初心者にもおすすめで、短いコードで1行ずつ読み込みができます。

4. 実際の活用例

4. 実際の活用例
4. 実際の活用例

行単位の読み込みは、ログファイル解析や大量データ処理に役立ちます。例えば、特定のキーワードを含む行だけを抽出できます。


keyword = "エラー"
with open("log.txt", "r", encoding="utf-8") as f:
    for line in f:
        if keyword in line:
            print(line.strip())

このようにすれば、ファイルの中から必要な情報だけを効率的に取り出せます。

-

5. readline() と readlines() の使い分け

5. readline() と readlines() の使い分け
5. readline() と readlines() の使い分け

どちらを使うべきかはファイルの大きさや処理内容によります。

  • readline():大きなファイル、1行ずつ順に処理したい場合
  • readlines():ファイルが小さく、全行をまとめて処理したい場合

また、単純に1行ずつ処理するだけならfor line in fが簡単でおすすめです。

6. プログラミング未経験者へのアドバイス

6. プログラミング未経験者へのアドバイス
6. プログラミング未経験者へのアドバイス

ファイルを扱うときはwith open()を使いましょう。自動的にファイルを閉じてくれるため、安全でミスが減ります。読み込んだ行は改行文字が含まれるので、表示の際はstrip()を使うときれいに見えます。

まずは小さなテキストファイルを用意して、readline()readlines()、そしてfor line in fを使い分けて練習してみると理解が深まります。

まとめ

まとめ
まとめ

Pythonでテキストファイルを一行ずつ丁寧に読み込む方法についてじっくり振り返ってみると、実際の開発現場でも役立つ知識が数多く含まれていることがわかります。特に、readlineによる段階的な読み込みやreadlinesによる全体読み込みの違いは、大きなデータを扱うときほど重要になります。さらに、for文を使った読み込みは初心者にも扱いやすく、直感的で、読みやすいコードを保ちながら効率よく処理できる点が魅力です。こうした基本的なファイル操作は、ログ解析やテキストマイニング、設定ファイルの読み込みなど多様な分野で活躍するため、実務でも頻繁に使われる操作となります。実際にプログラムを書くときには、読み込む行に余計な改行が含まれないようstripを活用したり、文字コードを指定して文字化けを防いだりする配慮も欠かせません。とくにutf八やshiftjisなどファイルごとの特性を理解して扱うことは、正確なデータ処理につながります。 また、with構文を使うことでファイルのクローズ処理を自動化し、安全性の高いプログラムを書くことができます。これは初心者がつまずきやすいポイントでもありますが、一度慣れてしまえば非常に便利で、再利用性の高いコードを書く土台となります。テキストを逐次処理する場合、無駄なメモリ消費を避けられるreadlineの能力は特に価値があり、巨大なログファイルや長大なデータを扱う環境では欠かせない存在です。逆に、ファイル全体を一気に操作したいときにはreadlinesが活躍し、リスト形式での柔軟な加工が可能になります。このように目的に応じて各メソッドの特徴を理解し、適切に使い分けることが重要です。 以下に簡単な活用例を改めて示します。

行単位で読み込むサンプルコード


with open("data.txt", "r", encoding="utf-8") as f:
    for line in f:
        if "重要" in line:
            print(line.strip())

このような形式で特定の文字列を抽出したり、ログの中から条件に合った行だけを抽出したりといった処理は、実際の業務で頻繁に行われます。ファイルの読み込みはプログラミングの基本でありながら奥が深く、データ分析、機械学習前処理、システム監視など幅広い用途で活躍します。今回学んだ内容をもとに、より複雑なファイル構造や複数ファイルの連続処理などへ発展させることもできます。こうした地道な操作が正確なプログラムの基礎となり、さらに応用力を高めるための土台にもなります。

先生と生徒の振り返り会話

生徒「きょう学んだreadlineとreadlinesの違いって、こんなに深い意味があったんですね。」

先生「そうなんです。単に行を読むだけでも、ファイルの大きさや処理の目的で使い分けが必要になります。」

生徒「for文で回す方法がいちばん楽でした。あれは内部的にreadlineを使ってるんですね。」

先生「その通りです。Pythonが裏でうまく処理してくれるので、読みやすく安全な書き方になります。」

生徒「ログ解析にも応用できそうで、すぐ実践してみたくなりました。」

先生「ぜひ試してください。テキストファイルを正確に扱えるようになると、できることの幅がぐんと広がりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonでテキストファイルを1行ずつ読み込むにはどうすればいいですか?初心者向けに教えてください。

Pythonでテキストファイルを1行ずつ読み込むには、readline()メソッドを使う方法や、for文でファイルオブジェクトを直接ループする方法があります。どちらも1行ずつ処理できるので、大きなファイルでも安心して使えます。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.7
Java&Spring記事人気No7
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.8
Java&Spring記事人気No8
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
-
-