blog.dopana

Back

おかえりなさい、秘密エージェントのみなさん! 🕵️‍♂️

これまでは、Pythonの実行画面を閉じると、ロボットはすべての記憶を失っていました。それは、ロボットが一時的なメモリ(RAM)にしか情報を保存していなかったからです。

今日は、ロボットにパソコンのハードディスクに秘密のメッセージを書き込ませる方法を教えます。これで、パソコンの電源を切っても、情報が永遠に残るようになります!

ファイル操作の3ステップ(開く・アクション・閉じる)#

ファイルとやり取りするのは、秘密の手紙を書く手順と全く同じです:

  1. 開く(Open):机の引き出し(または封筒)を開けます。
  2. アクション(Action):手紙に文字を書くか、すでに書かれている文字を読みます。
  3. 閉じる(Close):引き出しを閉めて、封筒に封をします。この手順を忘れると、手紙がなくなったり壊れたりしてしまうよ!
graph TD
    Start([スタート]) --> Open["1. 封筒を開ける (open())"]
    Open --> Action["2. 書く・読む (write() / read())"]
    Action --> Close["3. 封をする (close())"]
    Close --> End([完了! ハードディスクに保存 💾])

秘密のメッセージを書く("w" モード)#

ファイルに文字を書き込むには、Pythonに "w"(write = 書く の略)モードで open() させます:

# 1. ファイルを書き込みモード "w" で開く
file = open("secret.txt", "w")

# 2. 秘密のメッセージを書く
file.write("秘密のパスコードは: Unicorn123 🦄")

# 3. ファイルを閉じて封をする
file.close()
python

このコードを実行すると、Pythonはパソコンの中に secret.txt という新しいファイルを作り、その中に文字を保存します!

[!WARNING] "w" モードは強力です。もし secret.txt というファイルがすでにある場合、 "w" モードは古い中身をすべて消してから、新しく書き直してしまいます。

秘密のメッセージを読む("r" モード)#

ファイルの中身を読むには、ファイルを "r"(read = 読む の略)モードで開きます:

# 1. ファイルを読み込みモード "r" で開く
file = open("secret.txt", "r")

# 2. 中身のテキストを読み込む
content = file.read()
print("秘密の手紙を発見:")
print(content)

# 3. ファイルを閉じる
file.close()
python

追記する("a" モード)#

すでにある中身を消さずに、ファイルの最後にテキストを付け足したいときは、"w" の代わりに "a"(append = 追記する の略)モードを使います:

file = open("diary.txt", "a")
file.write("今日はファイルの扱い方を学んだよ! 💻\n")
file.close()
python

(「\n」の記号は、ロボットに「改行してね」と伝えています。キーボードのEnterキーを押すのと同じ意味だよ!)

自分でやってみよう! 🎮#

Pythonの画面を開いて、日記帳プログラムを作ってみてね:

  1. input() を使って、プレイヤーに "今日何をした? " と質問します。
  2. diary.txt というファイルを "a" モードで開きます。
  3. プレイヤーの答えに \n をつけて書き込みます。
  4. ファイルを閉じます。
  5. 今度は diary.txt"r" モードで開き、日記のすべてを読み込んで画面に表示してみよう!

これで 「永続化(えいぞくか - データを消さずに保存すること)」 のパワーを手に入れたよ! ゲームのハイスコアやプレイヤーのレベル、設定を保存して、次に遊ぶときも続きからプレイできるようにしてみよう。秘密の手紙作りを楽しんでね! 🔒💾

参照#