PYTHON MEBY

Pythonでファイルを開く・閉じる(open, close)

この記事では、Pythonでファイルを扱うための基本的な方法である`open()`関数と`close()`メソッドについて解説します。ファイルのオープンモード、エンコーディング、エラー処理についても説明します。

目次

ファイルを開く (open())

`open()`関数は、ファイルを開くために使用します。引数にはファイルパスとオープンモードを指定します。

file = open("sample.txt", "w")

この例では、`"sample.txt"`という名前のファイルを書き込みモード(`"w"`)で開きます。ファイルが存在しない場合は新しく作成され、存在する場合は上書きされます。

ファイルを開くと、ファイルオブジェクトが返されます。このオブジェクトを使用して、ファイルを読み書きすることができます。

ファイルのオープンモード

オープンモードは、ファイルを開く目的を指定します。主なモードは以下のとおりです。

エンコーディング

テキストファイルを開く場合は、エンコーディングを指定することが重要です。エンコーディングを指定しないと、システムのデフォルトのエンコーディングが使用されます。

file = open("sample.txt", "w", encoding="utf-8")

この例では、`utf-8`エンコーディングを使用してファイルを書き込みモードで開きます。

ファイルを閉じる (close())

ファイルを開いたら、必ず`close()`メソッドを使用してファイルを閉じることが重要です。ファイルを閉じないと、データが破損したり、リソースリークが発生する可能性があります。

file.close()

ファイルオブジェクトの`close()`メソッドを呼び出すことで、ファイルが閉じられます。

with文によるファイルの扱い

`with`文を使用すると、ファイルを開いて閉じる処理を簡潔に記述できます。`with`文のブロックを抜けた時点で、ファイルは自動的に閉じられます。

with open("sample.txt", "w", encoding="utf-8") as file:
    file.write("Hello, world!")

この例では、`with`文を使用してファイルを書き込みます。`with`文のブロックを抜けた時点で、`file`オブジェクトの`close()`メソッドが自動的に呼び出され、ファイルが閉じられます。

エラー処理

ファイルを開く際にエラーが発生する可能性があります。例えば、ファイルが存在しない場合や、アクセス権がない場合があります。エラー処理を行うことで、プログラムの安定性を高めることができます。

try:
    with open("sample.txt", "r", encoding="utf-8") as file:
        contents = file.read()
except FileNotFoundError:
    print("ファイルが見つかりません")
except Exception as e:
    print(f"エラーが発生しました: {e}")

関連記事