pythonでは、ファイル操作を行う際、open()によりファイルオブジェクトを取得するが、open関数の第二引数の意味がよく分かっていなかったので整理してみた。
open関数の引数は、open(filename,mode)となっており、第二引数のmodeは以下の7種類を指定する事が可能である。
r 読み込み用
w 書き込み用
a 追加書き込み
r+ 読み込みと書き込み
w+ 読み込みと書き込み
a+ 読み込みと書き込み
b バイナリモード
この第二引数の中で「r+」、「w+」、「a+」の違いが分からず悩んでいた。その為、実際に処理を書いて見る事にした。すると、ファイル読み込みの際は違いが無いが、ファイル書き込みの際に以下の違いがある事が判明した。
・「r+」モードにてファイルオープン
既に書かれている内容を上書く
・「w+」モードにてファイルオープン
ファイルを一度全てクリアにしてから書き込む
・「a+」モードにてファイルオープン
既に書かれている内容に追記する
これで、悩む事無くopen関数を使用する事が出来る。
あーすっきりした。