Python:';模块';对象不可调用

Python:';模块';对象不可调用,python,exception,Python,Exception,我定义了一个异常类 #####UNIQUE CONSTRAINT EXCEPTION#########################################################3 class UniqueConstraintException (Exception): def __init__(self, value): self.value = value def __str__(self): return repr('F

我定义了一个异常类

#####UNIQUE CONSTRAINT EXCEPTION#########################################################3
class UniqueConstraintException (Exception):
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return repr('Failed unique property. Property name: ' + self.value)
文件名为:“UniqueConstraintException.py”,包名为:“exception”

我以这种方式导入和使用它:

from exception import UniqueConstraintException

raise UniqueConstraintException(prop_key)
并获取以下错误:

TypeError: 'module' object is not callable

我做错了什么?

这就是为什么您希望将模块名称的大小写保持为小写。:-)


您导入了模块,没有导入模块内部定义的类。

,这就是问题所在。您不需要为每个文件定义一个类而定义4行模块。把你的例外情况放在一起。对于这一点,在添加新的异常类型之前要仔细考虑很久。内置的没什么问题。请阅读PEP8:谢谢你的阳具,delnan。那里有很多消极的攻击。你知道,我们中的一些人并不是什么都知道。要是我们能像你一样学识渊博就好了。(另一个被动攻击的例子,请重读这篇评论)我只是想评论一下,尽管delnan的回答很有攻击性,来自Java,学习python,阅读他在几周研究后发布的博客帖子,对重新思考我如何使用python非常有帮助。在这种情况下,定义自己的异常很少有用?只需将所有异常放在一个
exceptions.py
模块中即可。在一般情况下,我可能会将模块命名为
uniqueconstraint.py
from exception.UniqueConstraintException import UniqueConstraintException