22
15

More than 3 years have passed since last update.

Python, read(), readline(), readlines()の違い

Last updated at Posted at 2020-03-09

read()やreadline()、readlines()の違いについてメモ

前提

例えば、testsディレクトリに以下のテキストファイルがあったとする。

articles.txt
たま,眠いにゃー
しろ,腹減ったにゃー
クロ,なんだか暖かいにゃー
たま,ぽえーぽえーぽえー

(1)read()※文字数制限あり

readメソッドは開いたファイル全体を文字列として取得する。\nは含まれる。
引数に数字を入れると字数制限をする。

with open('tests/articles.txt',encoding='utf-8') as f:
    test = f.read(10)
    print(test)

とすると、

たま,眠いにゃー
し

となる。

(2)read()※文字数制限なし

引数に何も入れないと全てを取得する。

with open('tests/articles.txt',encoding='utf-8') as f:
    test = f.read()
    print(test)

とすると、

たま,眠いにゃー
しろ,腹減ったにゃー
クロ,なんだか暖かいにゃー
たま,ぽえーぽえーぽえー

となる。

(3)readline

そのまま実行すると、ファイルを1行だけ読み込む。

with open('tests/articles.txt',encoding='utf-8')as f:
    test= f.readline()
    print(test)

とすると、

たま,眠いにゃー

となる。

(4)readlines

ファイル全体を行ごとに分割したリストとして取得できる。

with open('tests/articles.txt',encoding='utf-8')as f:
    test= f.readlines()
    print(test)

とすると、

['たま,眠いにゃー\n', 'しろ,腹減ったにゃー\n', 'クロ,なんだか暖かいにゃー\n', 'たま,ぽえーぽえーぽえー\n']

となる。

(5)まとめ

testsディレクトリにarticlesテキストファイルを設定し、test.pyを実行
まとめると以下の通りとなる。

┬test.py
└tests
  └articles.txt
articles.txt
たま,眠いにゃー
しろ,腹減ったにゃー
クロ,なんだか暖かいにゃー
たま,ぽえーぽえーぽえー
test.py
with open('tests/articles.txt',encoding='utf-8') as f:
    test = f.read(10)
    print('\n'+'\n'+test)

print('\n--------------------------\n')


with open('tests/articles.txt',encoding='utf-8') as f:
    test = f.read()
    print(test)

print('\n--------------------------\n')

with open('tests/articles.txt',encoding='utf-8') as f:
    test= f.readline()
    print(test)

print('\n--------------------------\n')

with open('tests/articles.txt',encoding='utf-8') as f:
    test= f.readlines()
    print(test)
print('\n'+'\n')

たま,眠いにゃー
し

--------------------------

たま,眠いにゃー
しろ,腹減ったにゃー
クロ,なんだか暖かいにゃー
たま,ぽえーぽえーぽえー


--------------------------

たま,眠いにゃー


--------------------------

['たま,眠いにゃー\n', 'しろ,腹減ったにゃー\n', 'クロ,なんだか暖かいにゃー\n', 'たま,ぽえーぽえーぽえー\n']


22
15
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
15