ファイルのオープンとクローズ
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
ステートメントを使うと、ファイルクローズが自動で行われます。- 例外処理を使用して、ファイルオープン時のエラーを適切に処理することが重要です。