Python open() 関数
python open() 関数はファイルを開くために使用され、fileオブジェクトを作成し、関連するメソッドを呼び出して読み書きできるようにします。
ファイル操作の詳細は次を参照してください:Python ファイルI/O。
関数構文
open(name[, mode[, buffering]])
パラメータの説明:
name: アクセスするファイル名を含む文字列値です。
mode: ファイルを開くモードを決定します。読み取り専用、書き込み、追記などです。すべての指定可能な値は以下の完全なリストを参照してください。このパラメータは必須ではなく、デフォルトのファイルアクセスモードは読み取り専用(r)です。
buffering: buffering の値が 0 に設定されている場合はバッファリングされません。buffering の値が 1 の場合は、ファイルにアクセスする際に行バッファリングされます。buffering の値が 1 より大きい整数に設定されている場合は、バッファ領域のバッファサイズを意味します。負の値の場合は、バッファ領域のサイズはシステムデフォルトになります。
さまざまなモードでファイルを開くための完全なリスト:
| モード | 説明 |
|---|---|
| t | テキストモード(デフォルト)。 |
| x | 書き込みモード。新しいファイルを作成します。そのファイルが既に存在する場合はエラーが発生します。 |
| b | バイナリモード。 |
| + | ファイルを更新(読み書き可能)用に開きます。 |
| U | ユニバーサル改行モード(推奨されません)。 |
| r | 読み取り専用でファイルを開きます。ファイルポインタはファイルの先頭に置かれます。これがデフォルトモードです。 |
| rb | バイナリ形式で読み取り専用用にファイルを開きます。ファイルポインタはファイルの先頭に置かれます。これがデフォルトモードです。通常は画像などの非テキストファイルに使用されます。 |
| r+ | 読み書き用にファイルを開きます。ファイルポインタはファイルの先頭に置かれます。 |
| rb+ | バイナリ形式で読み書き用にファイルを開きます。ファイルポインタはファイルの先頭に置かれます。通常は画像などの非テキストファイルに使用されます。 |
| w | 書き込み専用でファイルを開きます。そのファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、既存の内容は削除されます。そのファイルが存在しない場合は、新しいファイルを作成します。 |
| wb | バイナリ形式で書き込み専用にファイルを開きます。既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、既存の内容は削除されます。存在しない場合は新しいファイルを作成します。通常は画像などの非テキストファイルに使用されます。 |
| w+ | 読み書き用にファイルを開きます。既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、既存の内容は削除されます。存在しない場合は新しいファイルを作成します。 |
| wb+ | バイナリ形式で読み書き用にファイルを開きます。既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、既存の内容は削除されます。存在しない場合は新しいファイルを作成します。通常は画像などの非テキストファイルに使用されます。 |
| a | 追記用にファイルを開きます。既に存在する場合、ファイルポインタはファイルの末尾に置かれます。つまり、新しい内容は既存の内容の後に書き込まれます。存在しない場合は、書き込み用の新しいファイルを作成します。 |
| ab | バイナリ形式で追記用にファイルを開きます。既に存在する場合、ファイルポインタはファイルの末尾に置かれます。つまり、新しい内容は既存の内容の後に書き込まれます。存在しない場合は、書き込み用の新しいファイルを作成します。 |
| a+ | 読み書き用にファイルを開きます。既に存在する場合、ファイルポインタはファイルの末尾に置かれます。ファイルは追記モードで開かれます。存在しない場合は、読み書き用の新しいファイルを作成します。 |
| ab+ | バイナリ形式で追記用にファイルを開きます。既に存在する場合、ファイルポインタはファイルの末尾に置かれます。存在しない場合は、読み書き用の新しいファイルを作成します。 |
file オブジェクトメソッド
-
file.read([size]): size が指定されていない場合はファイル全体を返します。ファイルサイズがメモリの2倍を超えると問題があります。f.read() はファイルの終端まで読むと "" (空文字列) を返します。
file.readline(): 1行を返します。
file.readlines([size]) : size 行を含むリストを返します。size が指定されていない場合はすべての行を返します。
for line in f: print line : イテレータによるアクセス。
f.write("hello\n"): 文字列以外のデータを書き込む場合は、まずそれを文字列に変換します。
f.tell(): 現在のファイルポインタの位置(ファイル先頭からのバイト数)を表す整数を返します。
f.seek(オフセット, [開始位置]): ファイルポインタを移動するために使用します。
- オフセット: 単位はバイトで、正または負の値を指定できます。
- 開始位置: 0 - ファイル先頭(デフォルト値); 1 - 現在位置; 2 - ファイル末尾
f.close()ファイルを閉じる
詳細は次を参照してください:Python File(ファイル) メソッド
例
テストファイル test.txt の内容は次のとおりです:
サンプル1 サンプル2
Python 組み込み関数