2日目のゴール
2日目のテーマは
「ファイル保存を“上書きだけ”から一歩進めて、より実用的なメモ帳に近づけること」です。
今日できるようになってほしいのは、この3つです。
書き込みモード "w" と追記モード "a" の違いを理解する
複数行のメモを書けるようにする
保存処理を関数にまとめて、アプリらしい形にする
1日目で「ファイルに書ける」感覚はつかめました。
2日目はそれを“使える形”に育てていきます。
書き込みモード “w” の復習
“w” は「上書き保存」
昨日使った "w" モードは、
ファイルの中身を全部消してから書き始めるモードでした。
with open("memo.txt", "w", encoding="utf-8") as f:
f.write("上書きされます")
Pythonこのコードを2回実行すると、
1回目の内容は完全に消えてしまいます。
これは「メモ帳アプリ」としては少し不便です。
普通は、前のメモを残したまま、新しいメモを追加したいですよね。
そこで登場するのが "a" モードです。
追記モード “a” の登場
“a” は「ファイルの末尾に追加する」
追記モード "a" を使うと、
既存の内容を消さずに、後ろに追加できます。
with open("memo.txt", "a", encoding="utf-8") as f:
f.write("これは追記されます\n")
Pythonここでの重要ポイントは2つです。
既存の内容は消えない
書いた内容は“末尾に追加される”
つまり、
メモ帳として自然な動きになるわけです。
改行を自分で入れる必要がある
write は「改行を自動で入れない」
print は自動で改行しますが、write は自動で改行しません。
f.write("こんにちは")
f.write("世界")
Pythonこの場合、ファイルには
こんにちは世界
と書かれます。
行を分けたいときは、自分で \n を入れます。
f.write("こんにちは\n")
f.write("世界\n")
Pythonここは初心者がよくつまずくポイントなので、
しっかり意識しておきましょう。
複数行メモを保存する仕組みを作る
ユーザーが「空行を入力したら終了」する形
メモ帳アプリとして自然なのは、
1行入力
Enter
また1行入力
Enter
…
空行を入力したら保存終了
という流れです。
これを Python で書くとこうなります。
def write_memo():
print("メモを入力してください。空行で終了します。")
with open("memo.txt", "a", encoding="utf-8") as f:
while True:
line = input("> ")
if line.strip() == "":
print("入力終了。保存しました。")
break
f.write(line + "\n")
Pythonここでの深掘りポイントは、
while True: で「何行でも入力できる」
空行なら break で終了write(line + "\n") で改行つき保存
という、
「メモ帳として自然な動き」を実現していることです。
保存処理を関数にまとめる意味
main を“アプリの流れだけ”にする
保存処理を関数にすると、
main がとても読みやすくなります。
def main():
print("メモ帳アプリ(2日目)")
write_memo()
Pythonこれだけでアプリの流れが見えるようになります。
関数にまとめるメリットは、
処理の意味が明確になる
main が読みやすくなる
あとで機能を増やしやすくなる
という点にあります。
2日目のミニアプリ:複数行メモ帳
今日の学びを全部入れたコード
def write_memo():
print("メモを入力してください。空行で終了します。")
with open("memo.txt", "a", encoding="utf-8") as f:
while True:
line = input("> ")
if line.strip() == "":
print("入力終了。memo.txt に保存しました。")
break
f.write(line + "\n")
def main():
print("ファイル保存メモ帳(2日目)")
write_memo()
main()
Pythonこのアプリはこう動きます。
起動すると「メモ帳(2日目)」と表示
何行でもメモを入力できる
空行を入力すると保存して終了
memo.txt に追記される
これで、
「実際に使えるメモ帳アプリ」に一歩近づきました。
2日目のまとめ:今日つかんでほしい感覚
今日の本質はこれです。
"w" は上書き、"a" は追記
write は改行を自動で入れない
複数行入力は while ループで作れる
保存処理を関数にするとアプリが整理される
ここまで理解できていれば、
3日目の「保存したメモを読み込む」ステップに
スムーズに進めます。
あなたのメモ帳アプリは、
もう“本物のアプリ”に近づいています。

