ここでは変数に格納された値や文字列を標準的な方法でファイルに出力したり,ファイルを開いて変数に格納する方法を説明します.
最も標準的なファイルの出力方法は次のとおりです.
open('出力ファイル名', 'w')
でファイルを開くwrite()
で書き出すclose()
でファイルを閉じるファイルに書き出す
a = 10
b = 3.14
msg = 'Hello world!'
# ファイルに書き出すための文字列を準備
# s = '%d\n%f\n%s\n' % (a, b, msg)
s = f'{a}\n{b}\n{msg}\n'
# 書き込みモード (w) でファイルを開く
f = open('output02.txt', 'w')
# ファイルに書き出す
f.write(s)
# ファイルを閉じる
f.close()
上のコードを実行すると,プログラムソースコードと同じフォルダ(ディレクトリ)にファイルが出力されます.出力されたファイルを秀丸エディタや Visual Studio Code で開くと次のようになります.
なお,open('出力ファイル名', 'w')
でファイルを開いたとき,すでに同じ名前のファイルが存在した場合にはそのファイルの内容が消去されることに注意してください.
また,Windows 環境で日本語文字を含む文字列を書き出すと,Shift-JIS コードで保存されることになります.文字コードに UTF-8 を使って書き出したい場合には,次のように encoding='utf-8'
または encoding='utf_8'
を指定すると良いでしょう.なお macOS の場合は標準で UTF-8 が使用されます.
ファイルに書き出す
a = 10
b = 3.14
msg = '日本語文字列 あいうえお'
# ファイルに書き出すための文字列を準備
# s = '%d\n%f\n%s\n' % (a, b, msg)
s = f'{a}\n{b}\n{msg}\n'
# 文字コードを指定する
f = open('output02.txt', 'w', encoding='utf-8')
# ファイルに書き出す
f.write(s)
# ファイルを閉じる
f.close()
上のコードのように open()
で開いたファイルは利用を終えたあとに close()
で閉じることを忘れないようにしてください.次のように with
を使うとこのブロックの処理が終わった段階で自動的にファイルが閉じられます.
ファイルに書き出し自動的に閉じる
a = 10
b = 3.14
msg = 'Hello world!'
# ファイルに書き出すための文字列を準備
# s = '%d\n%f\n%s\n' % (a, b, msg)
s = f'{a}\n{b}\n{msg}\n'
# with によってファイルを自動的に閉じる
with open('output02.txt', 'w', encoding='utf-8') as f:
f.write(s)