【Python3.x】EnvironmentError::errno定数の使い方
errno定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
errno定数は、オペレーティングシステム(OS)のシステムコールやライブラリ関数が失敗した際に、その具体的なエラーの原因を示す数値を表す定数です。Pythonでは、ファイル操作、ネットワーク通信、プロセス管理など、OSと連携する処理で問題が発生した場合に、OSError(またはそのサブクラスであるFileNotFoundErrorやPermissionErrorなど)といった例外が発生します。この例外オブジェクトは通常、errnoという属性を持っており、そこにOSが通知したエラーコードが格納されています。
このerrno属性の値は、特定のOSのエラー定数に対応しており、例えばファイルが見つからないエラーであればENOENT、アクセス権がないエラーであればEACCESといった、意味のあるエラー種別を数値で示します。システムエンジニアを目指す初心者の方にとって、このエラーコードは、プログラムがなぜ期待通りに動作しなかったのか、その根本的な原因を特定し、適切なエラーハンドリングを実装するために非常に重要な情報となります。
Pythonの標準ライブラリには、errnoモジュールがあり、このモジュール内でOSのエラー定数(errno.ENOENTなど)が定義されています。例外発生時に取得したerrno属性の値を、これらの定数と比較することで、エラーの種類をプログラム的に判別し、エラーメッセージの表示や代替処理の実行といった、より堅牢なプログラムを作成することが可能になります。errnoは、低レベルなOSエラーをPythonプログラムで扱うための、基本的かつ強力なツールです。
構文(syntax)
1import os 2 3try: 4 # Attempt an operation that is likely to cause an OSError (a subclass of EnvironmentError) 5 # e.g., trying to access a file or directory that does not exist. 6 os.listdir("/non_existent_directory_for_demonstration_12345") 7except OSError as e: 8 # The 'errno' attribute of the exception object contains the system-specific error number. 9 print(e.errno)
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
errno は、発生したエラーの種類を示す整数コードを返します。これは、オペレーティングシステムレベルのエラーを識別するのに役立ちます。