【Python】テキストファイルの1行1行を要素とするリストを作成する方法

今日はPythonで改行されているテキストファイルの1行1行を要素とするリストを作成する方法のメモです。
文字列で見ると何の話か分かりにくいので、とりあえず状況を整理します。

状況

以下のように1行1行に文字列が含まれている、test.txtというファイルがあるとします。

$ cat test.txt
これは
テスト
です
。

Pythonでこのtest.txtファイルを読み込んで

['これは', 'テスト', 'です', '。']

上記のような改行で区切られていて、かつ改行コード(\n)が取り除かれたリストを作成したいという状況です。


早速やり方ですが、皆大好きStack Overflow*1を見てみると色々書いてありました。
色々ありますが、とりあえず以下のように書けば、目的のリストが得られます。

with open('test.txt', 'r') as f:
lines = f.read().splitlines()

ただ、以下のようなワンライナーのものもあったので、紹介しておきます。
withステートメントが無いので一抹の不安がありますが、簡潔ではあります。

lines = [line.strip('\n') for line in open('test.txt', 'r')]

いずれにせよ、結果は以下のとおりです。

>>> print(lines)
['これは', 'テスト', 'です', '。']

コメント