【Python3.x】FileExistsError::errno定数の使い方
errno定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
errno定数は、Pythonの組み込み例外であるFileExistsErrorが発生した際に、そのエラーの具体的な原因を示すシステム依存のエラーコードを保持する定数です。
Pythonでは、ファイル操作やシステム関連の処理において問題が発生した場合、特定の例外(エラー)が送出されます。FileExistsErrorはその一つで、ファイルやディレクトリを新規作成しようとしたときに、指定されたパスに同名のファイルやディレクトリが既に存在する場合に発生する例外です。このerrno定数は、そのFileExistsErrorオブジェクトの属性としてアクセス可能で、オペレーティングシステムが内部的に生成するエラー番号(Error Number)を表します。
システムエンジニアを目指す初心者の方にとって、このerrno定数を理解することは、エラー処理をより詳細に行う上で非常に重要です。例えば、try-exceptブロックでFileExistsErrorを捕捉した際に、例外オブジェクト(例: e)からe.errnoとしてこの数値を取得できます。この数値は、OSが返す低レベルのエラーコードに対応しており、例えばUNIX系システムでは、ファイルが既に存在する場合にEEXISTという定数が内部的に割り当てられています。Pythonの標準ライブラリであるerrnoモジュールにも同等の定数が定義されており、import errno as err_modとした上でe.errno == err_mod.EEXISTのように比較することで、エラーの種類を具体的に判別し、その原因に応じたきめ細やかな処理を実装することが可能になります。これにより、単にエラーが発生したことを知るだけでなく、なぜ発生したのかを特定し、プログラムの堅牢性を高めることができます。
構文(syntax)
1import os 2 3try: 4 # 既に存在するディレクトリを作成しようとすると FileExistsError が発生します。 5 os.mkdir("existing_directory_name") 6except FileExistsError as e: 7 error_code = e.errno
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
FileExistsError例外が発生した際のエラーコードを表す整数値です。