3日目のゴール
3日目のテーマは
「保存したメモを“読み込めるようにして”、メモ帳としての完成度を一段上げること」です。
1日目:ファイルに書けるようになった
2日目:複数行を追記できるようになった
そして3日目は、
保存したメモを読み込む
読み込んだ内容を画面に表示する
読み込み処理を関数として整理する
ここを目指します。
ファイルを読むには open の「読み込みモード」を使う
“r” は「読み込み専用モード」
ファイルを読むときは、open の第2引数に "r" を指定します。
with open("memo.txt", "r", encoding="utf-8") as f:
text = f.read()
Pythonここでの重要ポイントは、
"r" は「読み込み専用」read() は「ファイル全体を文字列として読み込む」
ということです。
ファイルの中身がそのまま text に入ります。
read() の動きと注意点
read() は「全部まとめて読み込む」
例えば、memo.txt がこうだったとします。
りんご
みかん
ぶどう
read() を使うと、こうなります。
text = "りんご\nみかん\nぶどう\n"
Pythonつまり、
改行も含めて“ファイルの中身そのまま”が入る
ということです。
ここで深掘りポイント。
read() は便利だが、ファイルが大きいと全部読み込むので重くなる。
ただし、メモ帳レベルなら問題なし。
ファイルを1行ずつ読む方法
for 文で「行ごとに処理」できる
メモ帳アプリでは、
「行ごとに読みたい」ことも多いです。
with open("memo.txt", "r", encoding="utf-8") as f:
for line in f:
print("行:", line.strip())
Pythonここでのポイントは、
for line in f: で「1行ずつ読み込む」line.strip() で改行を取り除く
ということです。
読み込み処理を関数にまとめる
「読み込んで表示する」機能を作る
メモ帳アプリに「読み込み機能」を追加します。
def read_memo():
print("=== 保存されたメモ ===")
try:
with open("memo.txt", "r", encoding="utf-8") as f:
text = f.read()
print(text)
except FileNotFoundError:
print("まだメモがありません。memo.txt が見つかりません。")
Pythonここでの深掘りポイントは、
ファイルが存在しない場合に備えてtry / except でエラーを防いでいる
ということです。
初心者が最初にぶつかるのが
「ファイルがないとエラーになる」問題なので、
ここでしっかり対策を入れておきます。
書く機能と読む機能を組み合わせる
メモ帳としての“基本2機能”がそろう
2日目の write_memo() と
今日の read_memo() を組み合わせると、
メモ帳としての基本が完成します。
def main():
print("ファイル保存メモ帳(3日目)")
print("1: メモを書く")
print("2: メモを読む")
print("0: 終了")
choice = input("番号を選んでください: ")
if choice == "1":
write_memo()
elif choice == "2":
read_memo()
else:
print("終了します。")
Pythonここでの重要ポイントは、
「書く」と「読む」が
それぞれ独立した関数になっている
ということです。
3日目のミニアプリ:書く+読むメモ帳
今日の学びを全部入れたコード
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 read_memo():
print("=== 保存されたメモ ===")
try:
with open("memo.txt", "r", encoding="utf-8") as f:
text = f.read()
print(text)
except FileNotFoundError:
print("まだメモがありません。memo.txt が見つかりません。")
def main():
print("ファイル保存メモ帳(3日目)")
print("1: メモを書く")
print("2: メモを読む")
print("0: 終了")
choice = input("番号を選んでください: ")
if choice == "1":
write_memo()
elif choice == "2":
read_memo()
else:
print("終了します。")
main()
Python役割を日本語で説明してみる
関数ごとの「一文説明」
write_memo
複数行のメモを入力し、memo.txt に追記する。
read_memo
memo.txt を読み込み、内容を画面に表示する。
main
メニューを表示し、「書く」か「読む」かを選ばせる。
ここまで言えれば、
ファイル保存アプリの基礎は完全に理解できています。
3日目のまとめ:今日つかんでほしい感覚
今日の本質はこれです。
"r" は読み込みモードread() はファイル全体を文字列として読むfor line in f: で1行ずつ読める
ファイルがない場合は FileNotFoundError が起きるので対策する
「書く」と「読む」を関数に分けるとアプリが整理される
ここまで理解できていれば、
4日目の「メニュー化してアプリとして完成させる」ステップに
スムーズに進めます。
あなたのメモ帳アプリは、
もう“実用アプリ”の入り口に立っています。

