【python】pythonでファイルを開く方法

スポンサーリンク
プログラミング

open関数はファイルを開き対応するファイルオブジェクトを返します。

ファイルのオープンとクローズ

ファイルは組み込みのopen関数を用いてオープンし、それに対して読み込み、書き込みを行った後、クローズするのが通常のファイル操作の手順となる。その流れを以下にまとめる。

f = open(ファイル名, モード, その他の引数)  # ファイルのオープン
content = f.read()  # 読み込みの例
f.write('foo')  # 書き込みの例
f.close()  # ファイルのクローズ

また、with文を利用することでファイルのクローズを自動的に行うことができる。

with open(ファイル名, モード, その他の引数) as f:  # ファイルのオープン
    content = f.read()  # 読み込みの例
    f.write('foo')  # 書き込みの例。ブロック終了後にファイルはクローズされる

引数の説明

open(filemode=’r’buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)の引数を設定することでどのような用途でファイルを開くかなどを指定することができる

file

これは開くファイルのパス名を与える。

mode=

ファイルが開かれるモードを指定します。

引数説明
‘r’読み込み用に開く(デフォルト)
‘w’書き込み用に開き、ファイルを切り詰める
‘x’排他的なせいせに開く。ファイルが存在する場合失敗する。
‘a’書き込み用に開く。ファイルが存在する場合末尾に追記
‘b’バイナリモード
‘t’テキストモード
‘+’'r','w','a','x'に付加して、ファイルを更新用にオープン
buffering

バッファリングの方針を設定するのに使われます。
バッファリングとは、複数の機器やソフトウェアの間でデータをやり取りするときに、処理速度や転送速度の差を補ったり、通信の減速や中断に備えて専用の記憶領域に送受信データを一時的に保存しておくことです。


引数説明
0無効
1行単位バッファリング(テキストモードのみで有効)
encoding

テキストモードのみ使用可能。デフォルトエンコーディングはプラットフォーム依存。
標準エンコーディング

erros

エンコードやデコードでのエラーをどのように扱うかを指定。バイナリモードでは使用不可。

引数説明
'strict'ValueErrorが発生します。デフォルトのNoneと同様
'ignore'エラーを無視します。
'replace'不正な形式のデータが存在した場所に置換マーカーを挿入します。
'surrogateescape'正しくないバイト列をUnicode の Private Use Area にある U+DC80 から U+DCFF のコードポイントで示します。
'xmlcharrefreplace'ファイル書き込み時のみサポート。エンコーディングでサポートされない文字は、&#nnn; 形式の適切な XML 文字参照で置換されます。
'backslashreplace'不正なデータを Python のバックスラッシュ付きのエスケープシーケンスで置換します。
'namereplace'サポートされていない文字を \N{...} エスケープシーケンスで置換します。
newline

universal newlines モードの動作を制御します。これはソースコード上の改行コードである。

引数入力時読み込み時
Noneユニバーサル改行モードが有効
入力中の'\n','\r','\r\n'が呼び出し元に返される前に'\n'に変換される。
すべての'\n'文字がデフォルトの区切り文字os.linesepに変換される。
''ユニバーサル改行モードが有効になるが、行末は変換されずに呼び出し元に返される。変換されない。
'\n'入力行は'\n'文字のみ終わり、行末は変換されずに呼び出し元に返される。変換されない。
'\r'入力行は'\r'文字のみ終わり、行末は変換されずに呼び出し元に返される。'\n'文字が'\r'文字に変換される。
'\r\n'入力行は'\r\n'文字のみ終わり、行末は変換されずに呼び出し元に返される。'\n'文字が'\r\n'文字に変換される。

コメント

タイトルとURLをコピーしました