Python ファイルの読み書き #4

株式会社リュディアです。引き続きファイルの読み書きについてまとめていきます。今回は既にまとめた open、read, write についての補足です。

前回までの Python ファイルの読み書きについてのまとめへのリンクは以下を参考にしてください。

最初は open メソッドからです。基本構文は以下の通りです。

open(filename, mode)

mode のうち r, w は既にまとめましたが他に a という mode があります。a を指定した場合はファイルを追加モードで open します。つまり過去にあるファイルの内容はそのままで末尾に追加(append)していくためのモードです。ファイルが存在しない場合は新規作成となるので w と同じことになりますね。

この r, w, a が基本モードなのですが、他に組み合わせのモードが 3 つあります。

r+:ファイルを読み書き両用で mode = r で open、ファイルが無い場合はエラー、あくまで mode = r が主なので書き込みができるとは言えファイルが無い場合はエラー

w+:ファイルを読み書き両用で mode = w で open、ファイルが無い場合は新規作成、既存の場合は初期化、あくまで mode = w が主なので mode = w と同様の振る舞い

a+:ファイルを読み書き両用で mode = a で open、ファイルが無い場合は新規作成、既存の場合は末尾から追加

これら以外にバイナリを意味する b があります。b を指定しない場合はテキストを意味する t が指定されているものとみなされます。b を指定する場合は byte オブジェクトを読み書きします。テキストファイル以外のファイルはバイナリモードを指定する必要があります。私どものまとめではバイナリーモードは例として示しにくいのですべてテキストモードを前提としています。

他に open() したファイル内で場所を移動する seek() メソッドがあるのですが、こちらもバイナリーモードでよく使うものなのでまた後日にまとめたいと思います。

では、ごきげんよう。


この記事が気に入ったらサポートをしてみませんか?