Python3 File(ファイル) メソッド

open() メソッド

Python open()このメソッドはファイルを開き、ファイルオブジェクトを返すために使用されます。

ファイルを処理する過程では常にこの関数を使用する必要があります。ファイルを開けない場合は、例外がスローされます。OSError。

注意:使用open()メソッドは必ずファイルオブジェクトを閉じることを保証しなければなりません。つまり、close()メソッドを呼び出します。

open()この関数の一般的な形式は、2つのパラメータ(ファイル名(file)とモード(mode))を受け取ることです。

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ユニバーサル改行モード(Python 3 ではサポートされていません)。
r読み取り専用でファイルを開きます。ファイルポインタはファイルの先頭に置かれます。これはデフォルトモードです。
rbバイナリ形式でファイルを読み取り専用に開きます。ファイルポインタはファイルの先頭に置かれます。これはデフォルトモードです。一般的に画像などの非テキストファイルに使用されます。
r+読み書き用にファイルを開きます。ファイルポインタはファイルの先頭に置かれます。
rb+バイナリ形式でファイルを読み書き用に開きます。ファイルポインタはファイルの先頭に置かれます。一般的に画像などの非テキストファイルに使用されます。
w書き込み専用でファイルを開きます。ファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。ファイルが存在しない場合は、新しいファイルを作成します。
wbバイナリ形式でファイルを書き込み専用に開きます。ファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。ファイルが存在しない場合は、新しいファイルを作成します。一般的に画像などの非テキストファイルに使用されます。
w+読み書き用にファイルを開きます。ファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。ファイルが存在しない場合は、新しいファイルを作成します。
wb+バイナリ形式でファイルを読み書き用に開きます。ファイルが既に存在する場合はファイルを開き、先頭から編集を開始します。つまり、元の内容は削除されます。ファイルが存在しない場合は、新しいファイルを作成します。一般的に画像などの非テキストファイルに使用されます。
a追記用にファイルを開きます。ファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。つまり、新しい内容は既存の内容の後に書き込まれます。ファイルが存在しない場合は、新しいファイルを作成して書き込みます。
abバイナリ形式でファイルを追記用に開きます。ファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。つまり、新しい内容は既存の内容の後に書き込まれます。ファイルが存在しない場合は、新しいファイルを作成して書き込みます。
a+読み書き用にファイルを開きます。ファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。ファイルは追記モードで開かれます。ファイルが存在しない場合は、新しいファイルを作成して読み書きします。
ab+バイナリ形式でファイルを追記用に開きます。ファイルが既に存在する場合、ファイルポインタはファイルの末尾に置かれます。ファイルが存在しない場合は、新しいファイルを作成して読み書きします。

デフォルトはテキストモードです。バイナリモードで開く場合は、b 。

file オブジェクト

file オブジェクトは open 関数で作成されます。以下の表に、file オブジェクトでよく使用される関数を示します:

番号メソッドと説明
1

file.close()

ファイルを閉じます。閉じた後は、ファイルを読み書きできなくなります。

2

file.flush()

ファイルの内部バッファをフラッシュし、内部バッファ内のデータをすぐにファイルに書き込みます。出力バッファの書き込みを受動的に待つことはありません。

3

file.fileno()

整数型のファイル記述子(file descriptor FD 整数型)を返します。os モジュールの read メソッドなどの低レベル操作で使用できます。

4

file.isatty()

ファイルが端末デバイスに接続されている場合は True を返し、それ以外の場合は False を返します。

5

file.next()

Python 3 の File オブジェクトは next() メソッドをサポートしていません。

ファイルの次の行を返します。

6

file.read([size])

ファイルから指定されたバイト数を読み取ります。指定がない場合や負の場合は、すべて読み取ります。

7

file.readline([size])

"\n" 文字を含む行全体を読み取ります。

8

file.readlines([sizeint])

すべての行を読み取ってリストを返します。sizeint>0 が指定された場合、合計がおよそ sizeint バイトの行を返します。実際の読み取り値は、バッファを埋める必要があるため sizeint より大きくなる場合があります。

9

file.seek(offset[, whence])

ファイルの読み取りポインタを指定された位置に移動します。

10

file.tell()

ファイルの現在位置を返します。

11

file.truncate([size])

ファイルの先頭行の最初の文字から切り詰め、ファイルを size 文字に切り詰めます。size がない場合は現在位置から切り詰めます。切り詰めた後、後続のすべての文字が削除されます。Windows システムでは改行は2文字分のサイズを表します。

12

file.write(str)

文字列をファイルに書き込み、書き込んだ文字数を返します。

13

file.writelines(sequence)

シーケンスの文字列リストをファイルに書き込みます。改行が必要な場合は、各行の改行文字を自分で追加する必要があります。

その他の拡張