Python open() 関数

Python 内置函数Python 組み込み関数

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
>>>f = open('test.txt') >>> f.read() 'サンプル1\nサンプル2\n'

Python 内置函数Python 組み込み関数

その他の拡張