テキストファイルへの書き込みを行う目的でファイルをオープンするには、mode引数を指定する必要がある。以下に本稿の冒頭で示した構文を再掲する(省略したパラメーターについては本稿では触れない)。
open(file, mode='r')
fileにオープンするファイルの名前を、modeにオープンするモードを指定する。modeに指定可能な値は以下の通り。
パラメーターmodeに指定可能な値 | 説明 |
---|---|
'r' | 読み込み用にオープン(デフォルト値) |
'w' | 書き込み用にオープン |
'a' | 追記用にオープン |
'x' | 排他的生成用にオープン(既にファイルがあるときにはエラーとなる)。ファイルは新規に作成され、書き込み用にオープンされる |
'b' | バイナリモード(詳細は次回に取り上げる)。'r'、'w'、'a'と一緒に指定する必要がある |
't' | テキストモード(デフォルト値)。'r'、'w'、'a'と一緒に指定する必要がある |
'+' | 更新用にオープン。'r'、'w'、'a', 'x'と一緒に指定する必要がある |
open関数のパラメーターmode |
これまでの例ではopen関数にはファイル名だけを渡していたので、上の表で「(デフォルト値)」とある'r'と't'が指定されたものとして、テキストモードで読み込み用にファイルがオープンされていた。書き込みを行うには、以下の値を指定できる。
'r'、'w'、'a'、'x'はいずれか1つだけを指定可能で、'b'、't'もどちらかのみを付加して指定できる(指定しなければ't'が指定されたものと見なされる)。'b'を指定した場合については次回に取り上げる。
'+'は'r'、'w'、'a'、'x'と一緒に指定して、そのファイルを読み書き両用にオープンする。このときには次のような動作になる。
'w'/'a'/'x'と'w+'/'a+'/'x+'の違いは、前者は書き込みのみが可能なことに対して、後者は読み込みと書き込みの両方が可能な点となる。
Copyright© Digital Advantage Corp. All Rights Reserved.