Python引发NotADirectoryError - python

在打开目录中的文件之前,我试图在目录不存在时引发错误。根据this response,对于我的问题,我应该使用最具体的Exception构造函数,我认为是NotADirectoryError。但是运行下面的代码,我得到NameError: global name 'NotADirectoryError' is not defined。在此先感谢您的帮助!

import os
if not os.path.isdir(baselineDir):
  raise NotADirectoryError("No results directory for baseline.")

如果有更好的方法,请提出建议,谢谢。

python大神给出的解决方案

您可能正在使用未定义NotADirectoryError的Python 2。但是,Python 3中的is defined正是出于您要使用它的目的。

如果需要使用Python 2,则需要通过一个类自己定义错误。通读有关user-defined exceptions的文档,以了解有关对Exception类进行子类化和根据需要进行自定义的信息。这是一个非常简单的示例:

class NotADirectoryError(Exception):
    pass

这将采用传递给它的字符串并将其打印出来,就像您想要的那样。