今回はpythonであるテキストファイルを読み込む方法を解説していきます。
テキストファイル全体を読み込む
file = open('test.txt', mode='r', encoding="utf-8") # mode r:読込み
text = file.read()
print(text) # テキストファイル全体が表示される
file.close()
# ファイルを閉じたか
print(file.closed) # True
テキストファイルを一行ずつ読み込む
ファイルサイズが大きい場合、全体ではなく行単位の操作が望ましい場合があります。
また、「with」構文を使用すれば、ファイルが使用された後に閉じることが保証されます。
with open('./test.txt') as f:
for line in f:
print line
open関数について
open関数は、ファイルの新規作成や保存、書き込みなどのファイル操作ができます。
open関数は、以下のような形式で使用できます。
open(ファイル名, モード, 文字エンコード)
文字エンコードとは、ファイルに書き込む際にコンピュータ上で文字や記号を扱う際に割り振られている番号のことです。
主にUTF-8, Shift-JISなどがあります。
モードとは、ファイルをどのように開くのか、どのように書き込むのかなどを指定します。
代表的なモードには、以下のものがあります。
mode | 説明 |
---|---|
省略 | 読み込み用で開きます。 |
'r' | 読み込み用で開きます。 |
'w' | 書き込み用で開きます。ファイル名に設定したものがすでに存在している場合はそのファイルに上書きします。 |
'x' | 新規ファイルの書き込みとして使います。既存に存在している場合は末行に追加していく。 |
'a' | 追記用で開きます。既存に存在している場合は末行に追加していく。 |
'b' | バイナリーモードで開きます。'rb'や'wb'などの使い方をする |
't' | テキストモードで開きます。'rt'や'wt'などの使い方をする。デフォルトではtとなる。 |
with構文
ファイルを操作した後は、closeメソッドの実行が必要になります(メモリから解放するため)。
with構文を使うと必ずファイルオブジェクトはcloseされるので、try〜finallyで実装するより簡潔に書くことができます。
with open("filename") as f:
f.read()