Pythonでは、存在しないファイルを開こうとしたときにFileNotFoundError
が発生します。しかし、このエラーメッセージをカスタマイズしたい場合はどうすればよいでしょうか。以下にその方法を示します。
まず、FileNotFoundError
はOSError
のサブクラスであり、いくつかの引数を取ります。最初の引数はerrno
モジュールからのエラーコード(ファイルが見つからない場合は常にerrno.ENOENT
)、2番目の引数はエラーメッセージ(これを取得するにはos.strerror()
を使用します)、そして3番目にファイル名を渡します。
以下に具体的なコードを示します。
import errno
import os
filename = "your_file.txt"
if not os.path.isfile(filename):
raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), filename)
このコードは、指定したファイルが存在しない場合に、次のようなエラーメッセージを出力します。
FileNotFoundError: [Errno 2] No such file or directory: 'your_file.txt'
この方法で、FileNotFoundError
のメッセージをカスタマイズすることができます。ただし、Python 2ではFileNotFoundError
は定義されていないため、IOError
/OSError
を発生させるか、これらのサブクラスとして定義する必要があります。
以上がPythonでFileNotFoundError
をカスタムメッセージと共に発生させる方法です。この情報が役立つことを願っています。