ファイルとお話する (I/O)
「プログラムが終わると、データが全部消えちゃう…」
今までは、変数のデータはプログラムが終了するとリセットされていました。データを保存して、また後で読み込むために、ファイルの読み書き(File I/O)を学びましょう。
※ ここではブラウザ上の「仮想ファイルシステム」を使って、擬似的にファイルを保存・読み込みします。
1. ファイルに書き込む (Write)
ファイルを開くには組み込み関数の open() を使います。書き込みモードで開くには、"w" (WriteのW) を指定します。
🚨 閉め忘れにご用心!
ファイルを開いたら、必ず最後に close() して「閉める」必要があります。
閉め忘れると、「他のプログラムがそのファイルを使えなくなる」「データがちゃんと保存されない」といった深刻なエラーの原因になります。(冷蔵庫のドアを開けっ放しにするのと同じです!)
2. 安全・確実にファイルを扱う (with 構文)
「いくら気をつけても、close() を書き忘れることがある…エラーが起きて処理が途中で止まったらどうしよう…」
そんな悩みを解決するのが、Pythonのスーパー便利機能 with (ウィズ) 構文です。これを使うと、処理が終わった瞬間に自動でファイルを閉じてくれます。
実際のPythonプログラミングにおいて、ファイルを扱う時は 99% この with open(...) as ...: という書き方を使います。「ファイルを開くなら with」と覚えておきましょう。
3. 追記モード (Append)
"w" は「元のデータを全部消して、まっさらの状態から書き直す(上書き)」モードです。
もし、以前のデータを残したまま、下に追加していきたい場合は **"a"** (AppendのA) を使います。
🎯 練習問題:メモ帳アプリ!
"todo.txt" というファイルを作成し、以下の3つのタスクを書き込んでから、読み込んで表示するプログラムを with 構文を使って 完成させてください。
1. ゴミ出し
2. 掃除
3. Pythonの勉強
※改行を入れたい場合は、文字列の最後に \n をつけます。(Windowsの場合は バックスラッシュn)