Python File(ファイル) メソッド
open() メソッド
Python の open() メソッドはファイルを開き、ファイルオブジェクトを返すために使用されます。ファイルを処理する過程では常にこの関数を使用する必要があります。そのファイルを開くことができない場合は、OSError がスローされます。
注意:open() メソッドを使用するときは、必ずファイルオブジェクトを閉じる、つまり close() メソッドを呼び出すようにしてください。
open() 関数の一般的な形式は、ファイル名(file)とモード(mode)の2つのパラメータを受け取ることです。
open(file, mode='r')
完全な構文形式は次のとおりです:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
パラメータの説明:
- file: 必須。ファイルパス(相対パスまたは絶対パス)。
- mode: オプション。ファイルを開くモード。
- buffering: バッファリングの設定
- encoding: 通常は utf8 を使用
- errors: エラーレベル
- newline: 改行文字の区別
- closefd: 渡される file パラメータの型
- opener: カスタムオープナーの設定。オープナーの戻り値は、開いているファイル記述子でなければなりません。
mode パラメータには次のものがあります:
| モード | 説明 |
|---|---|
| t | テキストモード(デフォルト)。 |
| x | 書き込みモード。新しいファイルを作成します。そのファイルが既に存在する場合はエラーが発生します。 |
| b | バイナリモード。 |
| + | ファイルを更新(読み書き)用に開きます。 |
| U | ユニバーサル改行モード(推奨されません)。 |
| r | ファイルを読み取り専用で開きます。ファイルポインタはファイルの先頭に置かれます。これはデフォルトモードです。 |
| rb | バイナリ形式でファイルを読み取り専用で開きます。ファイルポインタはファイルの先頭に置かれます。これはデフォルトモードです。通常は画像などの非テキストファイルに使用されます。 |
| r+ | ファイルを読み書き用に開きます。ファイルポインタはファイルの先頭に置かれます。 |
| rb+ | バイナリ形式でファイルを読み書き用に開きます。ファイルポインタはファイルの先頭に置かれます。通常は画像などの非テキストファイルに使用されます。 |
| w | ファイルを書き込み専用で開きます。そのファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。そのファイルが存在しない場合は、新しいファイルを作成します。 |
| wb | バイナリ形式でファイルを書き込み専用で開きます。そのファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。そのファイルが存在しない場合は、新しいファイルを作成します。通常は画像などの非テキストファイルに使用されます。 |
| w+ | ファイルを読み書き用に開きます。そのファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。そのファイルが存在しない場合は、新しいファイルを作成します。 |
| wb+ | バイナリ形式でファイルを読み書き用に開きます。そのファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。そのファイルが存在しない場合は、新しいファイルを作成します。通常は画像などの非テキストファイルに使用されます。 |
| a | ファイルを追記用に開きます。そのファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。つまり、新しい内容は既存の内容の後に書き込まれます。そのファイルが存在しない場合は、新しいファイルを作成して書き込みます。 |
| ab | バイナリ形式でファイルを追記用に開きます。そのファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。つまり、新しい内容は既存の内容の後に書き込まれます。そのファイルが存在しない場合は、新しいファイルを作成して書き込みます。 |
| a+ | ファイルを読み書き用に開きます。そのファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。ファイルを開くときは追記モードになります。そのファイルが存在しない場合は、読み書き用の新しいファイルを作成します。 |
| ab+ | バイナリ形式でファイルを追記用に開きます。そのファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。そのファイルが存在しない場合は、読み書き用の新しいファイルを作成します。 |
デフォルトはテキストモードです。バイナリモードで開きたい場合は、b を追加します。b 。
file オブジェクト
file オブジェクトは open 関数を使用して作成されます。次の表に、file オブジェクトでよく使用される関数を示します:
| 番号 | メソッドと説明 |
|---|---|
| 1 | ファイルを閉じます。閉じた後、ファイルは読み書き操作ができなくなります。 |
| 2 | ファイルの内部バッファをフラッシュし、内部バッファのデータをすぐにファイルに書き込みます。受動的に出力バッファの書き込みを待つのではありません。 |
| 3 | 整数型のファイル記述子(file descriptor FD 整数型)を返します。os モジュールの read メソッドなどの低レベル操作で使用できます。 |
| 4 | ファイルが端末デバイスに接続されている場合は True を返し、それ以外の場合は False を返します。 |
| 5 | ファイルの次の行を返します。 |
| 6 | ファイルから指定したバイト数を読み取ります。指定がない場合や負の場合はすべて読み取ります。 |
| 7 | 行全体を読み取ります。「\n」文字を含みます。 |
| 8 | すべての行を読み取り、リストを返します。sizeint>0 が指定された場合は、一度に読み取るバイト数を設定します。これは読み取り負荷を軽減するためです。 |
| 9 | ファイルの現在位置を設定します。 |
| 10 | ファイルの現在位置を返します。 |
| 11 | ファイルを切り詰めます。切り詰めるバイト数は size で指定します。デフォルトは現在のファイル位置です。 |
| 12 | 文字列をファイルに書き込みます。書き込まれた文字列の長さを返します。 |
| 13 | シーケンスの文字列リストをファイルに書き込みます。改行が必要な場合は、各行に自分で改行文字を追加する必要があります。 |