スライドショー

【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行ずつ取得しています。サンプルプログラム:

f = open('lang.txt', 'r')
line = f.readline()

while line:
    print(line)
    line = f.readline()
f.close()

実行結果:

language

python

ruby

java

swift

javascript

php

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

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

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

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

サンプルプログラム:

f = open('lang.txt', 'r')
list = f.readlines()
for line in list:
    print(line)
f.close()

実行結果:

language

python

ruby

java

swift

javascript

php

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

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

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

サンプルプログラム:

f = open('lang.txt', 'r')
text = f.read()
print(text)
f.close()

実行結果:

language
python
ruby
java
swift
javascript
php

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

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

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

以下の記事では

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

    まとめ

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

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

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

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

    LINEで送る
    Pocket

    無料でSEからWebエンジニアへ転職しませんか?



    侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

    • システムエンジニアという職業だけどコードが書けない
    • 事務作業が多くスキルがないため将来が不安
    • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
    という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

    弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

    既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

    まずは無料体験レッスンを予約する

    書いた人

    ヤマシタ

    システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
    大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。

    おすすめコンテンツ

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

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