読者です 読者をやめる 読者になる 読者になる

エンジニアリングとお金の話

都内で働くエンジニアの日記です。投資と技術の話題がメインです。

【技術】pythonのopen関数の第二引数の違いが分かった

技術

pythonでは、ファイル操作を行う際、open()によりファイルオブジェクトを取得するが、open関数の第二引数の意味がよく分かっていなかったので整理してみた。

 

open関数の引数は、open(filename,mode)となっており、第二引数のmodeは以下の7種類を指定する事が可能である。

 

r  読み込み用

w  書き込み用

a  追加書き込み

r+ 読み込みと書き込み

w+ 読み込みと書き込み

a+ 読み込みと書き込み

b  バイナリモード

 

この第二引数の中で「r+」、「W+」、「a+」の違いが分からず悩んでいた。その為、実際に処理を書いて見る事にした。すると、ファイル読み込みの際は違いが無いが、ファイル書き込みの際に以下の違いがある事が判明した。

 

・「r+」モードにてファイルオープン

既に書かれている内容を上書く

 

・「W+」モードにファイルオープン

ファイルを一度全てクリアにしてから書き込む

 

・「a+」モードにファイルオープン

既に書かれている内容に追記する

 

これで、悩む事無くopen関数を使用する事が出来る。

あーすっきりした。

広告を非表示にする