テキストファイルを1行ずつ読み込む - Python
Pythonでテキストファイルを1行ずつ読み込むコードを紹介します。
概要
テキストファイルを読み込むには、open関数を利用します。open関数の戻り値のファイルオブジェクトをforループでアクセスすると1行ごとの文字列を取得できます。
コード
下記のコードを記述します。
text_file = open("sample.txt", "rt")
for line in text_file:
print ("「" + line.strip() +"」")
text_file.close()
読み込むテキストファイルを作成します。
ぺんぎんクッキー
らくだキャラメル
しろくまアイス
にわとりサブレ
いるかキャンディ
解説
下記のコードでopen関数を呼び出しファイルを開きます。open関数の第一引数には開くファイル名を与えます。第二引数にはファイルのアクセスモードを与えます。今回はファイルを開くため "rt" を指定します。
open関数の戻り値でファイルオブジェクトが返るので、text_file変数に格納します。
text_file = open("sample.txt", "rt")
open関数のオプションは "r" と指定しても同様の動作になります。
text_file = open("sample.txt", "r")
forループでtext_file変数のファイルオブジェクトにアクセスします。ループごとにファイルから1行ずつline変数に代入されて読みださます。
読み出された文字列には改行コードが含まれているため、strip()メソッドを呼び出し、行末の改行コードを削除し、前後に"「"、"」"の文字列を追加してかぎ括弧で囲んだ文字列を出力します。
for line in text_file:
print ("「" + line.strip() +"」")
最後に開いたファイルを閉じます。
text_file.close()
補足
open関数の第二引数には以下のオプションがあります。
値 | 動作 |
"r" | ファイルを読み込み用に開きます。 (デフォルト) |
"w" | ファイルを書き込み用に開き、ファイルを切り詰めます。 |
"x" | ファイルをあたらに作成します。ファイルが既に存在している場合は失敗します。 |
"a" | ファイルを書き込み用に開きます。ファイルが既に存在する場合は末尾に追記します。 |
"b" | バイナリーモードとしてファイルを開きます。 |
"t" | テキストモードとしてファイルを開きます。 |
"+" | ディスクファイルを更新用に開きます。(読み込み/書き込み) |
実行結果
プログラムを実行します。下図の結果が表示されます。元のテキストファイルを読み込み「」で囲んだ結果を出力できています。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用