琴葉茜

葵はよくクラスのみんなの名前を使ったプログラムを作ってるけど、もしそれを他のクラスでも出来るようにしようと思ったらどうしたら良いと思う?

琴葉葵

うーん、変数に新しく他のクラスの名前を入れて作っていくかな?凄くめんどくさいけど

琴葉茜

そうだよね
じゃあもし、クラスごとに名簿のデータが用意されてて、プログラムで読み込めるようになったら良さそうじゃない??

琴葉葵

それすごく良いね!

琴葉茜

...ということで、今回はファイルの読み込みや書き込みができる「open()」について紹介するね!

解説画像1
琴葉葵

これだけでファイルのデータを読み込んだりできるの?

解説画像2
琴葉茜

これが結構大事で、適切にファイルを閉じないとデータが壊れたり、プログラムが終了するまで他の場所でファイルが扱えなくなる可能性があるんだよ

琴葉茜

そうなんだよね
だから、実際にopen()を使う場合はこんな感じで書くのが一般的だよ

琴葉葵

プログラムの行が少なくなった!!
「with」っていうのを使うんだね

琴葉茜

「open()」の場合、最初に「ファイルを開く」処理が必ず行われるようになっていて、最後に「ファイルを閉じる」処理が行われるようになってるんだ

琴葉茜

そういうことだね!プログラムの意味を予想できるようになってるのは良い傾向だよ!

琴葉茜

じゃあここからは、ファイル操作の方法について一覧で紹介するよ

琴葉茜

このうち、「.read()」「.readlines()」「.write()」を覚えておけば十分かな

琴葉茜

「open()」の第2引数が「'a'」の場合はファイルの中身の一番最後に書き込む「追記」になって、「'w'」の場合はファイルの中身を一回消してから書き込む「上書き保存」になるよ

琴葉葵

これ、もし間違えちゃうと中身が全部消えちゃう可能性があるんだね...

琴葉茜

そうなんだよね
だからファイル操作をする時はくれぐれも気を付けてね!

琴葉葵

りょーかい...!!