open【ファイルオープン】3.3~3.6 / 3.10
メモ
- ファイルのオープン
- プラットフォーム非依存
- ファイルの継承不可 3.4
- ファイル操作 (一部)
モード 読み込み 書き込み クローズ その他 テキスト
〔 例 〕for-in【for ループ】
下記メソッド
read()【読み込み】
readline()【1行読み込み】
readlines()【複数行読み込み】print(file)【テキストストリーム出力】
下記メソッド
write()【書き込み】
writelines()【複数行書き込み】手動クローズ:
下記メソッド
close()【クローズ】
自動クローズ:
with 文バイナリ
〔 例 〕下記メソッド
read()【読み込み】下記メソッド
write()【書き込み】下記メソッド
seek()【シーク】
peek()【ピーク】 - 外部リンク
構文
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener3.3 =None)
戻り値ファイルオブジェクト 〔ファイル操作〕
fileファイルパス (下記の指定が可能)
パス文字列(絶対パス・相対パス)・パス形式オブジェクト3.6 ・ファイル記述子(整数値)
modeモード (デフォルト:'r' テキスト読み込み)〔テキストファイルの例・バイナリファイルの例〕
bufferingバッファリング
0無効 (バイナリモードのみ)
1行単位バッファリング (テキストモードのみ)
省略・その他open() を参照
encodingテキストモードのエンコーディング (省略:プラットフォーム依存)
errors〔例〕テキストモードのエラー処理
newline〔例〕テキストモードのユニバーサル改行モード
closefdファイル記述子指定時のクローズ処理
True戻り値のファイルオブジェクトがクローズされると、ファイル記述子もクローズ
False戻り値のファイルオブジェクトがクローズされても、ファイル記述子はクローズなし
opener3.3 〔例〕オープナー
例外
ValueError指定値の不正 (modeの組合せ不正 等)
OSError3.3ファイルオープン不可 (以前は IOError)
FileExistsError既存ファイルを 'x'【排他的作成】 モードでオープン 3.3
戻り値 | ||
---|---|---|
モード 等 | 戻り値 | |
テキスト | io.TextIOWrapper | |
バイナリ | buffering:無効 (その他モードは任意) | io.FileIO |
'+' を含む | io.BufferedRandom | |
'w' 'a' 'x' | io.BufferedWriter | |
'r' | io.BufferedReader |
modeモード (順不同で以下の組み合せ、通常は上から指定) | ||
---|---|---|
モード | 説明 | 備考 |
'r' (デフォルト) | 読み込み | 択一 省略:'r' 他と組み合せる場合、必須 |
'w' | 書き込み (上書き) | |
'x' 3.3 | 排他的作成 (既存ファイルは FileExistsErro 例外) | |
'a' | 書き込み (追記) | |
'+' | 更新 (読み込み・書き込み) | 任意 |
'b' | バイナリ | 択一 省略:'t' |
't' (デフォルト) | テキスト | |
'U' 3.33.10 | ユニバーサル改行モード |
encoding ( 一部抜粋、その他は codecs 参照) | ||
---|---|---|
エンコーディング | 別名 | 備考 |
省略 None | プラットフォーム依存 | |
ascii | 646 us-ascii | ASCII |
cp932 | 932 ms932 mskanji ms-kanji | コードページ 932 |
euc_jp | euc-jp eucjp ujis u-jis | 日本語EUC |
shift_jis | shift-jis csshiftjis shiftjis sjis s_jis | Shift_JIS |
utf_7 | utf-7 U7 unicode-1-1-utf-7 | UTF-7 |
utf_8 | utf-8 U8 UTF utf8 | UTF-8 |
utf_16 | utf-16 U16 utf16 | UTF-16 |
utf_32 | utf-32 U32 utf32 | UTF-32 |
errorsエラー処理〔例〕 | |
---|---|
エラー処理名 | エラー処理 |
None (デフォルト) 'strict' | ValueError 例外 |
'ignore' | エラー無視 (データ欠落の可能性あり) |
'replace' | 不正データ位置に置換マーカー('?' 等)挿入 |
'surrogateescape' | 読み込み:コードポイント(U+DC80 ~ U+DCFF)に置換 書き込み:コードポイントは元に変換 |
'xmlcharrefreplace' | 書き込みのみサポート エラー文字を文字参照(&#nnn;)に置換 |
'backslashreplace' | エスケープシーケンスで置換 |
'namereplace' 3.5 | 書き込みのみサポート エラー文字を \N{~} に置換 |
その他 | codecs.register_error() で登録されたエラー処理 |
newlineユニバーサル改行モード〔例〕 | ||
---|---|---|
指定値 | 読み込み | 書き込み |
None | 改行は '\n' に変換 | '\n' はシステムの改行コード (os.linesep) に変換 |
'' | 改行コードは全て改行とみなす (変換なし) | '\n' は変換なし |
'\n' | 指定値のみ改行とみなす (変換なし) | |
'\r' | '\n' は指定値に変換 | |
'\r\n' |
openerオープナーの仕様〔例〕 | |
---|---|
引数 (例) | 備考 |
file | ファイルパス (file) |
flags | os.open() のオープンフラグ |
戻り値 | 備考 |
ファイル記述子 | 整数値 |