1日目のゴール
1日目のテーマは
「テキストをファイルに保存できる“超シンプルなメモ帳”を作ること」です。
今日できるようになってほしいのは、この3つです。
open でファイルを開くイメージをつかむwrite で文字を書き込む流れを理解する
「メモを入力 → ファイルに保存」という一連の動きを体験する
まずは「難しいことは一切しない」。
1行でもいいので、自分の文字がファイルとして残る感覚をつかみます。
ファイル保存って、そもそも何をしているのか
「メモ帳アプリ」と「Python のファイル保存」の違い
普段、メモ帳アプリでやっていることを思い出してください。
画面に文字を打つ
「名前を付けて保存」を押す
ファイル名を決める
保存ボタンを押す
Python でやることも、本質は同じです。
どのファイルに保存するか決める(ファイル名)
そのファイルを「書き込み用」に開く
文字を書き込む
書き込みが終わったら閉じる
この「開く」「書く」「閉じる」を担当するのがopen と write です。
open の基本:ファイルを「開く」ということ
open は「ファイルとの通話を開始する」イメージ
まずは形から見てみましょう。
f = open("memo.txt", "w", encoding="utf-8")
Pythonこれで、Python にこう伝えています。
「memo.txt という名前のファイルを、
書き込み用(”w”)で開いてください。
文字コードは utf-8 を使ってください。」
ここで重要なのは、3つの情報です。
どのファイルか(”memo.txt”)
どう使うか(”w” → 書き込みモード)
文字コード(encoding=”utf-8″)
open は「ファイルを開いて、そのファイルを操作するための“道具(ファイルオブジェクト)”を返す関数」です。
その“道具”を、ここでは f という変数に入れています。
write の基本:ファイルに文字を書く
write は「紙にペンで書く」イメージ
open でファイルを開いたら、
そのファイルに文字を書き込むことができます。
f.write("こんにちは、これは最初のメモです。")
Pythonこれで、memo.txt の中に
「こんにちは、これは最初のメモです。」
という文字列が書き込まれます。
ここでの重要ポイントは、
write は「画面に表示する」のではなく
「ファイルの中に書き込む」ということです。
print は画面に出す。write はファイルに出す。
この違いを、はっきり頭の中で分けておきましょう。
close の基本:ファイルを「閉じる」ということ
書き終わったら、必ず閉じる
ファイルに書き込みが終わったら、
最後にこれを呼びます。
f.close()
Pythonこれは、
「このファイルとのやりとりは終わりました。
中身をちゃんと保存して、閉じてください。」
という意味です。
close を忘れると、
書き込みが完全に終わっていない
他のプログラムから同じファイルを開けない
といった問題が起きることがあります。
1日目のルールとしては、
「open したら、最後に close する」
と覚えておけば十分です。
1日目の最小メモ帳:固定メッセージを保存してみる
まずは「自分で入力しない」バージョン
いきなり入力を受け取る前に、
まずは「決め打ちの文字列を保存する」ことから始めます。
def main():
f = open("memo.txt", "w", encoding="utf-8")
f.write("これは Python で初めて保存したメモです。")
f.close()
main()
Pythonこのプログラムを実行すると、
同じフォルダに memo.txt というファイルができます。
中身を開くと、
これは Python で初めて保存したメモです。
と書かれているはずです。
ここで感じてほしいのは、
「コードで書いた文字が、
ファイルとして“残る”んだ」
という感覚です。
input と組み合わせて「自分のメモ」を保存する
キーボードからの入力を、そのままファイルへ
次のステップとして、
ユーザーの入力をファイルに保存してみます。
def main():
text = input("メモしたい内容を入力してください: ")
f = open("memo.txt", "w", encoding="utf-8")
f.write(text)
f.close()
main()
Python流れを日本語で説明すると、こうなります。
メモしたい内容を入力してもらうmemo.txt を書き込み用で開く
入力された内容を書き込む
ファイルを閉じる
これで、
「自分が打った文字がファイルとして残る」
という、メモ帳の一番コアな部分が完成です。
重要ポイントをもう一段深掘りする
“w” モードの注意点:毎回“上書き”される
open("memo.txt", "w", ...) の "w" は
「書き込みモード(write)」の意味ですが、
もう一つ大事な性質があります。
それは、
「すでにファイルがあった場合、中身を消してから書き始める」
ということです。
つまり、このコードを2回実行すると、
1回目の内容は消えて、
2回目に書いた内容だけが残ります。
1日目では、
「とりあえず上書きでいい」と割り切って進みます。
あとで「追記モード(”a”)」も出てきますが、
それは次の段階の話です。
with 文という「安全な書き方」の予告
今日は形だけ見ておく
実務では、open と close をセットで書く代わりに、with という構文をよく使います。
形はこうです。
def main():
text = input("メモしたい内容を入力してください: ")
with open("memo.txt", "w", encoding="utf-8") as f:
f.write(text)
Pythonwith を使うと、
ブロック(インデントの中)の処理が終わったときに
自動的に close してくれます。
1日目では、
「こういう書き方もあるんだな」
くらいで大丈夫です。
1日目のミニアプリ:一行メモ帳
今日の学びを全部入れたコード
def main():
print("一行メモ帳アプリ(1日目)")
text = input("メモしたい内容を入力してください: ")
with open("memo.txt", "w", encoding="utf-8") as f:
f.write(text)
print("memo.txt に保存しました。")
main()
Pythonこのアプリは、こう動きます。
起動すると「一行メモ帳アプリ」と表示される
メモしたい内容を入力するmemo.txt に、その内容が保存される
「保存しました」と表示される
ここまでできれば、
もう立派に「ファイル保存ができる人」です。
1日目のまとめ:今日つかんでほしい感覚
今日の本質は、これです。
open は「どのファイルを、どういう目的で開くか」を決める関数。write は「画面ではなく、ファイルの中に文字を書く」ためのメソッド。close(または with)で、「書き込みを確定して、ファイルを閉じる」。
そして、
「自分が入力した文字が、
プログラムを閉じても残る」
この感覚を一度味わってしまえば、
メモ帳・ログ・設定ファイルなど、
いろんなアイデアにすぐつなげていけます。

