Python入門トップページ


目次

  1. コマンドラインでの実行時に書き出す
  2. プログラム内でのファイルの入出力
    1. ファイルに出力する
    2. ファイルに追記する
    3. ファイルを読み込む
    4. ファイルを読み込んで文字列として変数に格納する
    5. ファイルから数値を読み込む
    6. ファイルから数値を読み込みリストに格納する
  3. OSの違いを吸収するディレクトリ指定方法
  4. JSONファイルの読み込みと書き出し

ファイルの読み書きをしてみよう

プログラム内でのファイルの入出力

ここでは変数に格納された値や文字列を標準的な方法でファイルに出力したり,ファイルを開いて変数に格納する方法を説明します.

ファイルに出力する

最も標準的なファイルの出力方法は次のとおりです.

  1. open('出力ファイル名', 'w')でファイルを開く
  2. write()で書き出す
  3. 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 で開くと次のようになります.

input02

なお,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)

目次に戻る