Python: テキストファイルの読み込み – read()、readlines()、readline()メソッド

以下の読み込み用テキストファイルを用いて、
text.txt

It is meaningless only to think my long further aims idly.
It is important to set my aims but at the same time I should confirm my present condition.
Unless I set the standard where I am in any level, I'll be puzzled about what I should do from now on.

以下のメソッドを用いた場合の処理を書いてみます。

  • read() – ファイルを全て読み込み、その文字列データに対して処理を行う
  • readlines() – ファイルを全て読み込み、1行毎に処理を行う
  • readline() – 1行毎に読み込み、その処理を繰り返す

read() – ファイルを全て読み込み、その文字列データに対して処理を行う

f = open('text.txt')
data1 = f.read()  # ファイル終端まで全て読んだデータを返す
f.close()
print(type(data1)) # 文字列データ
lines1 = data1.split('\n') # 改行で区切る(改行文字そのものは戻り値のデータには含まれない)
print(type(lines1))
for line in lines1:
    print line
print()

実行結果



It is meaningless only to think my long further aims idly.
It is important to set my aims but at the same time I should confirm my present condition.
Unless I set the standard where I am in any level, I'll be puzzled about what I should do from now on.

readlines() – ファイルを全て読み込み、1行毎に処理を行う

f = open('text.txt')
lines2 = f.readlines() # 1行毎にファイル終端まで全て読む(改行文字も含まれる)
f.close()
# lines2: リスト。要素は1行の文字列データ
for line in lines2:
    print(line),
print

実行結果

It is meaningless only to think my long further aims idly.
It is important to set my aims but at the same time I should confirm my present condition.
Unless I set the standard where I am in any level, I'll be puzzled about what I should do from now on.

readline() – 1行毎に読み込み、その処理を繰り返す

f = open('text.txt')
line = f.readline() # 1行を文字列として読み込む(改行文字も含まれる)
while line:
    print(line)
    line = f.readline()
f.close

実行結果

It is meaningless only to think my long further aims idly.
It is important to set my aims but at the same time I should confirm my present condition.
Unless I set the standard where I am in any level, I'll be puzzled about what Ishould do from now on.

リファレンス

チュートリアル

コメント

  1. Y.Okada より:

    readline(s)の違いってなんだっけ? 機能的には一緒でよかった? – Python: テキストファイルの読み込み – read()、readlines()、readline()メソッド – Yukun's Blog

  2. Python の本を忘れてきてしまった(>_<)。 file open は初めて使うのか。教えて!google様。http://www.yukun.info/blog/2008/06/python-file.html Python: テキストファイルの読み込み、とかか。あれ?

  3. テキストファイルの読み込み | 地下鉄はメンマの味 より:

    […] 等で丁寧な説明をしてくれているが、 ファイルの文字コードが分かっているのであれば 以下のようにしたほうが安心。 […]

  4. 匿名 より:

    lines1 = data1.split(‘n’)]
    ->lines1 = data1.split(‘\n’)
    では?

    • yukun より:

      コードが誤っており、失礼しました。
      ご指摘の通りです。記事本文を修正致しました。
      また、実行結果の一部の表記に誤植(※)がありましたので、合わせて修正しております。
      ※半角<>がURLエンコードされていた。

  5. […] Python: テキストファイルの読み込み – read()、readlines()、readline()メソッド […]

  6. 【Python】テキストから一文取得、日時を取得して挨拶ツイート文を作るスクリプト | 百合野ハクの備忘録 より:

    […] 【参考】『Python: テキストファイルの読み込み – read()、readlines()、readline()メソッド』(Yukun’s Blog) […]