我正在尝试在 python 中实现一个抽象类(实际上是在一个 django 应用程序中),并且正在对抗这种疯狂:
>python concreteChildClass.py
Traceback (most recent call last):
File"concreteChildClass.py, line 1, in <module>
from abc_base import AbstractBaseClass
ImportError: No module named abc_base
我已经将我的问题归结为在我的环境中重现错误的这些文件:
抽象基类.py
import abc
class abstractBaseClass(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def load(self, input):
"""Retrieve data from the input source and return an object."""
return
具体的ChildClass.py
from abc_base import AbstractBaseClass
class ConcreteChildClass(object):
def load(self, input):
return input.read()
这是我的python版本信息
>>> import sys
>>> print sys.version
2.7.3 (default, Jan 2 2013, 13:56:14)
[GCC 4.7.2]
我对 python 还很陌生(因为这个问题可能很明显),但我不知道如何找到“abc”,但不知道如何找到“abc_base”。我的阅读和谷歌搜索导致我对此没有任何答案。如果这是一个愚蠢的问题,请提前致谢并道歉。