【Python入門】ファイルを読み込む方法|readline・readlines・read

この記事ではPythonによるファイルの読み込みについて解説します。

Pythonでファイルを読み込むとき

1行ずつ読み込んでデータを取得したい
1行ずつ読み込んで配列(リスト)に取得したい
内容を全て読み込みたい

なんて問題に直面することもあると思います。そこで、ここではPythonでファイル読み込む方法として、

  • 【基礎】ファイルを読み込む方法
  • 【実践】readline()で1行ずつ読み込む
  • 【実践】readlines()で1行ずつ読み込んでリストに格納する
  • 【実践】read()でファイルを全て読み込む

などについて解説していきます。ファイルを扱う操作は実際の開発でもよく行いますのでこの機会にぜひ覚えておきましょう!

ファイルを読み込む方法

Pythonではファイルを読み込むときは、

  • ファイルを開く
  • ファイルの内容を取得する
  • ファイルを閉じる

という手順があります。また、ファイルを読み込む方法としては以下の種類があります。

関数処理
readline()1行ずつ読み込む
readlines()1行ずつ読み込んでリストに格納する
read()ファイルを全て読み込む

では最初に以下のファイルを用意して、次項よりそれぞれのファイルの読み込み方法について見ていきましょう!

lang.txt

language
python
ruby
java
swift
javascript
php

readline()で1行ずつ読み込む

readline()はファイルの内容を1行ずつ読み込んで取得したい場合に使用します。readlineの処理としては、ファイルの内容を1行ずつ読み込んで文字列として返します。

以下ではファイルlang.txtを読み込んで1行ずつ取得しています。サンプルプログラム:

実行結果:

このようにファイルの内容が1行ずつ読み込まれました。ファイルを扱うときの前提として、まずファイルを開くにはopen関数で第一引数にファイルを指定し、第二引数には読み込みモードを指定します。

読み込みモードは「r」がファイル読み込み、「w」がファイル書き込みになります。そして、ファイル処理が終了したら、close()を指定してファイルを閉じることを忘れないでください。

readlines()で行ごとにリストで取得する

readlines()はファイルの内容を1行ずつ読み込み、読み込んだ内容をリストに格納します。そのためreadline()のように、ファイルを読み込んだあと都度、値を取得する手間が省けます。

サンプルプログラム:

実行結果:

このようにリストにファイルの内容が格納されていることがわかりますね!

read()でファイルを全て読み込む

read()を使用すると、ファイルの内容を全て読み込み文字列として返します。

サンプルプログラム:

実行結果:

このように一度にファイルの内容を文字列として取得したい場合はread()を使用すると便利です。

さまざまなファイルの操作方法

Pythonにはファイルを操作するさまざまな方法があります。

以下の記事では

  • ファイルの削除
  • 名前の変更
  • 更新日の確認
  • ファイルの存在有無
  • などのファイル処理について紹介しています。気になる方はぜひ参考にしてみてくださいね!

    まとめ

    ここでは、ファイルを読み込む方法として、

    • Pythonでファイルを読み込む方法
    • readline()で1行ずつ読み込む方法
    • readlines()で1行ずつ読み込んでリストに格納する方法
    • read()でファイルを全て読み込む方法

    などについて解説しました。実際にファイルを読み込んでデータを取得する処理はよく使いますので、使い方はよく覚えておきましょう。

    もし、readline・readlines・readの使い方を忘れてしまったら、この記事を思い出してくださいね!

    LINEで送る
    Pocket

    最短でエンジニアを目指すなら侍エンジニア塾

    cta_under_bnr

    侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

    あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

    無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

    無料体験レッスンの詳細はこちら

    書いた人

    ヤマシタ

    エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
    ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説