2017-09-01 101 views
0

我有一个关于导入由继承基类的类组成的包的问题。这里是我的目录结构:导入包继承基类的类

. 
|-- cisco.py 
|-- cisco.pyc 
|-- __init__.py 
|-- __init__.pyc 
|-- objects.py 
`-- objects.pyc 

0 directories, 6 files 
[email protected]:~/objects# 

我的父类是objects.py内:

class BasePlatform(object): 
     def __init__(self,ip,hostname): 
       self.ip = ip 
       self.hostname = hostname 

       print self.ip,self.hostname 

     def hello(self): 
       print 'hello world' 

我的子类是cisco.py内:

class CiscoPlatform(BasePlatform): 
     def somefunc(self): 
       print 'hello world' 

内的我的init .py,我有这个:

from . import objects 
from . import cisco 

但是,当我执行,这是错误我得到:

[email protected]:~/objects# cd .. 
[email protected]:~# python 
Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import objects 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "objects/__init__.py", line 2, in <module> 
    from . import cisco 
    File "objects/cisco.py", line 1, in <module> 
    class CiscoPlatform(BasePlatform): 
NameError: name 'BasePlatform' is not defined 
>>> 

可能有人请帮助我吗?谢谢!

回答

1
from objects import BasePlatform 
class CiscoPlatform(BasePlatform): 
    def somefunc(self): 
     print 'hello world' 

您需要导入BasePlatform类cisco.py