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:渡されたファイル引数のタイプ
- opener:カスタムオープナーを設定する。オープナーの返す値は、開いているファイル記述子である必要がある。
mode 引数の説明
モード | 説明 |
t | テキストモード(デフォルト)。 |
x | 書き込みモードで、新しいファイルを作成します。ファイルがすでに存在する場合は、エラーが報告されます。 |
b | バイナリモード。 |
+ | ファイルを開いて更新します(読み取りと書き込み)。 |
U | ユニバーサル改行モード(Python 3ではサポートされていません)。 |
r | ファイルを読み取り専用として開きます。 ファイルのポインタはファイルの先頭に配置されます。 これがデフォルトのモードです。 |
rb | 読み取り専用のバイナリ形式でファイルを開きます。 ファイルポインタはファイルの先頭に配置されます。 これがデフォルトのモードです。 通常、画像などの非テキストファイルに使用されます。 |
r+ | 読み取りと書き込み用にファイルを開きます。 ファイルポインタはファイルの先頭に配置されます。 |
rb+ | 読み取りと書き込みのためにバイナリ形式でファイルを開きます。 ファイルポインタはファイルの先頭に配置されます。 通常、画像などの非テキストファイルに使用されます。 |
w | 書き込み専用のファイルを開きます。 ファイルが既に存在する場合は、ファイルを開いて最初から編集します。つまり、元のコンテンツが削除されます。 ファイルが存在しない場合は、新しいファイルを作成します。 |
wb | 書き込み専用のバイナリ形式でファイルを開きます。 ファイルが既に存在する場合は、ファイルを開いて最初から編集します。つまり、元のコンテンツが削除されます。 ファイルが存在しない場合は、新しいファイルを作成します。 通常、画像などの非テキストファイルに使用されます。 |
w+ | 読み取りと書き込み用にファイルを開きます。 ファイルが既に存在する場合は、ファイルを開いて最初から編集します。つまり、元のコンテンツが削除されます。 ファイルが存在しない場合は、新しいファイルを作成します。 |
wb+ | 読み取りと書き込みのためにバイナリ形式でファイルを開きます。ファイルが既に存在する場合は、ファイルを開いて最初から編集します。つまり、元のコンテンツが削除されます。ファイルが存在しない場合は、新しいファイルを作成します。通常、画像などの非テキストファイルに使用されます。 |
a | 追加するファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。つまり、新しいコンテンツは既存のコンテンツの後に書き込まれます。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。 |
ab | 追加するためにバイナリ形式でファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。つまり、新しいコンテンツは既存のコンテンツの後に書き込まれます。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。 |
a+ | 読み取りと書き込み用にファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。ファイルを開くと、追加モードになります。ファイルが存在しない場合は、読み取りと書き込み用に新しいファイルを作成します。 |
ab+ | 追加するためにバイナリ形式でファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。ファイルが存在しない場合は、読み取りと書き込み用に新しいファイルを作成します。 |
デフォルトはテキストモードです。バイナリモードで開きたい場合は、bを追加します。
file オブジェクト
ファイルオブジェクトは、open関数を使用して作成されます。次の表に、ファイルオブジェクトの一般的に使用される関数を示しています。
番号 | メソッド及び説明 |
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]) 切り捨ては、ファイルの最初の行の最初の文字から始まります。切り捨てられたファイルはサイズ文字です。サイズなしは、現在の位置からの切り捨てを意味します。切り捨て後のすべての文字が削除され、Windowsシステムの改行は2つの文字サイズを表します。 |
12 | file.write(str) ファイルに文字列を書き込み、書き込まれた文字の長さを返します。 |
13 | file.writelines(sequence) シーケンス文字列のリストをファイルに書き込みます。改行する必要がある場合は、各行に改行文字を自分で追加する必要があります。 |
コメントを残す