【Python】read、readline、readlinesの使い方

こんにちは、にわこまです。

今回は、pythonでテキストファイルの内容を読み込む方法を紹介します。具体的には、readとreadline、readlinesの使い方を紹介します。

 

誤字脱字や分からない点がございましたらご連絡お願いします。

 

 

スポンサードサーチ


read、readline、readlinesの使い方

read:ファイルの内容を一括で読み込む

readline:ファイルの内容を1行読み込む

readlines:ファイルの内容を1行1要素としてリスト形式で読み込む

 

主な使い方を紹介します。

readはファイルの内容を一括で読み込むため、そのファイルに特定の文字がいくつ含まれているか調べる時やファイル全体に特定の処理を行う時などに使用します。

readlineはファイルの内容を1行読み込むため、1行ずつ処理したい時や最初の数行を破棄したい時などに使用します。1回目のreadlineで1行目を読み込み、2回目のreadlineで2行目を読み込み、、、のように行を読み込んでいきます。

readlinesはファイルの内容を1行1要素として読み込むため、1行ずつ処理したい時やリスト形式で出力されることを活かして特定の文字列が含まれる行のみを取得したいときなどに使用します。

 

※readlineはreadlinesとにていますが、一括で読み込むか読み込まないかが異なります。readlineのように1行ずつ読み込むことでパソコンへの負荷をreadlinesよりも低くすることができます。

 

 

以下の使い方で使用するsample.txtの内容を以下に示します。

header
Good Morning
Hello World
Good Evening

 

 

使い方1 read

readを使ったソースコードとその実行結果を以下に示します。

with open("sample.txt", encoding="utf-8", mode="r") as f:
    txt = f.read()
    print(txt)


=== 実行結果 ===
header
Good Morning
Hello World
Good Evening

 

ファイルの内容を文字列として取得します。

 

 

使い方2 readline

readlineを使った1つ目のソースコードとその実行結果を以下に示します。

with open("sample.txt", encoding="utf-8", mode="r") as f:
    line = f.readline()
    print(line, end="")

=== 実行結果 ===
header

 

readlineを1回実行したため1行目がlineに代入されています。よって、出力されるのは1行目の「header」という文字列です。

 

readlineを使った2つ目のソースコードとその実行結果を以下に示します。

with open("sample.txt", encoding="utf-8", mode="r") as f:
    f.readline()
    print(f.read())

=== 実行結果 ===
Good Morning
Hello World
Good Evening

 

readlineを1回実行した後にreadを実行しているため、1行目以降の行を読み込み出力しています。つまり、最初の行を破棄してそれ以外の行を全て読み込んでいます。

 

readlineを使った3つ目のソースコードとその実行結果を以下に示します。

with open("sample.txt", encoding="utf-8", mode="r") as f:
    while(True):
        line = f.readline()
        if(not line):
            break
        print(line, end="")

=== 実行結果 ===
header
Good Morning
Hello World
Good Evening

 

上記のソースコードはreadlineを使ってファイルの内容を全て出力ソースコードです。3行目と4行目でlineに最終行が代入されたらwhile文を終了するという処理になっています。

 

 

使い方3 readlines

readlinesを使ったソースコードとその実行結果を以下に示します。

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

=== 実行結果 ===
['header\n', 'Good Morning\n', 'Hello World\n', 'Good Evening\n']
header
Good Morning
Hello World
Good Evening

 

readlinesを実行すると1行1要素でリストが返されます。改行コードも文字列として読み込まれ出力されます。

 

 

まとめ

今回は、pythonでテキストファイルの内容を読み込む方法を紹介しました。具体的にはread、readline、readlinesの使い方を紹介しました。

 

最後にもう一度使い方を以下にまとめます。

read:ファイルの内容を一括で読み込む

readline:ファイルの内容を1行読み込む

readlines:ファイルの内容を1行1要素としてリスト形式で読み込む

 

 

最後までお読みいただきありがとうございます。


スポンサードサーチ