ファイルのオープンとクローズ | ファイルの読み書き | Python本格超入門

スポンサーリンク
スポンサーリンク

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

Pythonでは、ファイルの読み書きを行う際に、ファイルを「開く」(open)操作と、作業が終わった後にファイルを「閉じる」(close)操作が必要です。以下では、基本的なファイルのオープンとクローズの方法について解説します。

ファイルのオープン

Pythonでファイルを開くには、open()関数を使用します。この関数は、指定したファイルを開き、ファイルオブジェクトを返します。open()関数は、少なくとも1つの引数、すなわちファイルのパスを指定する必要があります。また、オープンモードを指定することもできます。

オープンモードの種類

モード 説明
'r' 読み取り専用モード(デフォルト)
'w' 書き込み専用モード(ファイルが存在しない場合は作成される)
'a' 追記モード(既存の内容に追加)
'b' バイナリモード(テキストではなくバイナリデータを扱う)

ファイルのクローズ

ファイルを使い終わったら、close()メソッドを使ってファイルを閉じる必要があります。ファイルを開いたままにしておくと、メモリリークやデータの破損が発生する可能性があります。

例:ファイルを開いて閉じる基本例

file = open('example.txt', 'r')  # ファイルを読み取り専用で開く
content = file.read()  # ファイルの内容を読み込む
print(content)  # 内容を表示する
file.close()  # ファイルを閉じる

上記のコードは、example.txtというファイルを読み取り専用モードで開き、内容を読み込んで表示し、最後にファイルを閉じる例です。

withステートメントを使ったファイル操作

ファイル操作において、withステートメントを使用すると、ファイルのクローズを自動的に行うことができ、コードが簡潔になります。次の例を見てみましょう。

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

このコードは、withによってファイルを開いています。この場合、ファイルを明示的にclose()する必要はありません。withブロックを抜けると自動的にファイルが閉じられます。

ファイルオープン時のエラーハンドリング

ファイルが存在しない場合やアクセス権がない場合、open()関数はエラー(例外)を発生させる可能性があります。そのため、ファイル操作時には例外処理を行うことが重要です。

try:
    with open('non_existent_file.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("ファイルが見つかりませんでした")

この例では、存在しないファイルを開こうとしてFileNotFoundError例外をキャッチし、エラーメッセージを表示しています。

まとめ

  • ファイルを開くにはopen()関数を使います。
  • ファイルを閉じるにはclose()メソッドを使用します。
  • withステートメントを使うと、ファイルクローズが自動で行われます。
  • 例外処理を使用して、ファイルオープン時のエラーを適切に処理することが重要です。