Pythonで情報をテキストファイルへ書き出す方法、テキストファイルから情報を読み込む方法について解説します。
この記事はこんな人におすすめ!
- Pythonを学習している人
- Pythonでのテキストファイル読み書きについて知りたい人
- 開いたファイルを自動で閉じる方法について知りたい人
テキストファイルへの書き出し方法
開いたファイルを自動で閉じる構文を覚えよう
下記スクリプトは、テキストファイルへ書き込むサンプルです。
with open('test.txt', 'w', encoding='utf-8') as f:
f.write('Pythonで\n')
f.write('ファイルに\n')
f.write('書き込み\n')
これを実行することで、「test.txt」というテキストファイルが作成されます。
with文を使うことで、処理実行後にcloseメソッドを呼び出さなくても、ファイルを自動で閉じてくれるのでお薦めです。
open()は、ファイルを開く関数で、ファイルオブジェクトを戻り値として返します。
引数の指定方法は、下表の通りです。
引数 | 説明 |
---|---|
第1引数 | ファイル名を指定 |
第2引数 | モード ‘w’ : 書き込みモード ‘r’ : 読み込みモード ‘a’ : 追加書き込みモード |
encoding= | 文字エンコーディング |
write()で開いたファイルにテキストを書き込むことが出来ます。
文字エンコーディングの例
キーワード引数のencodingには、下表例の文字エンコーディングを設定します。
引数 | 説明 |
---|---|
utf-8 | UTF-8 |
shift-jis | シフトJIS |
enc-jp | 日本語EUC |
iso-2022-jp | JIS |
テキストファイルからの読み込み方法
全文一括で読み込む方法
テキストファイルから全文一括で読み込むサンプルです。
with open('test.txt', encoding='utf-8') as f:
print(f.read())
実行するとテキストファイル通りにターミナルへ出力されます。
[実行結果]
Pythonで
ファイルに
書き込み
1行ずつ読み込む方法
テキストファイルから1行ずつ読み込むにはfor文を使います。以下サンプルスクリプトです。
with open('test.txt', encoding='utf-8') as f:
for i, text in enumerate(f, 1):
print(i, text, end='')
[実行結果]
1 Pythonで
2 ファイルに
3 書き込み
1行ずつ読み込む方法は、いくつかありますが、enumerate関数を使ったものをサンプルとしています。enumerate関数を使うと行番号も把握することが出来、便利です。
まとめ
今回は、Pythonで情報をテキストファイルへ書き出す方法、テキストファイルから情報を読み込む方法について解説しました。
Python学習のお役に立てたなら幸いです。
独りでPython学習するのは大変だなと思う方は、書籍やスクールを活用するのも手です。