Part13:ファイル入出力

真姫「ここまででPythonの基礎文法はできたけど、文字タイプして結果が画面に出るだけよね」
にこ「たしかに、あんまりありがたみがないにこ」
絵里「やっぱり、ファイルから読んだりファイルに書いたりできれば便利よね」
真姫「ま、出力なら一応リダイレクトでまかなえたりするけど。Pythonにはちゃんとファイル入出力の仕組みがあるわ」
にこ「じゃあこのBiBiのメンバーリストはどうやって読むの?」

真姫「やり方はいくつかあるけど、一番楽なのはこれかしら」

真姫「あるいは、これでも」

真姫「最初のopen('member.txt', 'r')は読み込むファイルの指定。rはread、読み取り用に開くってことね」
絵里「fっていうのが開いたファイル?」
真姫「ファイルオブジェクトと呼ばれるものね。これを通して読み書きをするの」

真姫「ファイルへの書き込みも、そんなに変わらないわ」

絵里「wはwriteかしら」
真姫「そう。書き込み用に開いてるの。ちなみにaだと追記になるわ」
にこ「readlinesみたいなのはないの?」
真姫「あることはあるけど・・・」

真姫「・・・ね?」
にこ「何よこれ詐欺じゃない」
真姫「基本的に改行は自動ではやってくれないわ。\nで明示的に入れること」

絵里「このf.close()は必ず必要なの?」
真姫「リソースの後始末とかがあるからね。ただ、少し楽な書き方もあるわ」

真姫「この書き方だと、withのブロックを抜けるとfは勝手に閉じられるから、closeを書かなくてもいいわ」
にこ「いつもこれで書けばいいんじゃないの?」
真姫「そうね、それでもいいんだけど・・・ファイルオブジェクトを使う範囲が広いと、インデントが深くなっちゃうのよね」
にこ「読むだけ読んだらさっさと閉じればいいにこ」
真姫「・・・悔しいけどその通りだわ」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です