Python | 1 日 90 分 × 7 日アプリ学習:ファイルに保存するメモ帳(初級編)

Web APP Python
スポンサーリンク

1日目のゴール

1日目のテーマは
「テキストをファイルに保存できる“超シンプルなメモ帳”を作ること」です。

今日できるようになってほしいのは、この3つです。

open でファイルを開くイメージをつかむ
write で文字を書き込む流れを理解する
「メモを入力 → ファイルに保存」という一連の動きを体験する

まずは「難しいことは一切しない」。
1行でもいいので、自分の文字がファイルとして残る感覚をつかみます。


ファイル保存って、そもそも何をしているのか

「メモ帳アプリ」と「Python のファイル保存」の違い

普段、メモ帳アプリでやっていることを思い出してください。

画面に文字を打つ
「名前を付けて保存」を押す
ファイル名を決める
保存ボタンを押す

Python でやることも、本質は同じです。

どのファイルに保存するか決める(ファイル名)
そのファイルを「書き込み用」に開く
文字を書き込む
書き込みが終わったら閉じる

この「開く」「書く」「閉じる」を担当するのが
openwrite です。


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 文という「安全な書き方」の予告

今日は形だけ見ておく

実務では、
openclose をセットで書く代わりに、
with という構文をよく使います。

形はこうです。

def main():
    text = input("メモしたい内容を入力してください: ")

    with open("memo.txt", "w", encoding="utf-8") as f:
        f.write(text)
Python

with を使うと、

ブロック(インデントの中)の処理が終わったときに
自動的に 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)で、「書き込みを確定して、ファイルを閉じる」。

そして、

「自分が入力した文字が、
プログラムを閉じても残る」

この感覚を一度味わってしまえば、
メモ帳・ログ・設定ファイルなど、
いろんなアイデアにすぐつなげていけます。

タイトルとURLをコピーしました