Python从不同文件夹中的模块父类继承
我有以下目录Python从不同文件夹中的模块父类继承,python,class,parent,Python,Class,Parent,我有以下目录 - actions - create_session.py - lib - __init__.py - prep_vars.py - details.xlsx 我在prep_vars.py中有以下代码 class PrepVars(object): def __init__(self): try: self._wb = load_workbook(filename='det
- actions
- create_session.py
- lib
- __init__.py
- prep_vars.py
- details.xlsx
我在prep_vars.py中有以下代码
class PrepVars(object):
def __init__(self):
try:
self._wb = load_workbook(filename='details.xlsx', data_only=True)
self._ws = self._wb['Switch Details']
except IOError:
print ("test 123")
self.ipadd_sw1 = self._ws['C7'].value
self.ipadd_sw2 = self._ws['D7'].value
self.user_sw1 = self._ws['C8'].value
self.user_sw2 = self._ws['D8'].value
self.password_sw1 = self._ws['C9'].value
self.password_sw2 = self._ws['D9'].value
self.icl1_sw1 = self._ws['C10'].value
self.icl1_sw2 = self._ws['D10'].value
self.session_vlan = self._ws['C12'].value
self.session_network = self._ws['C13'].value
self.session_subnet = self._ws['C14'].value
以及create_session.py中的以下代码
from lib.prep_vars import PrepVars
class SessionRun(PrepVars):
def __init__(self):
super(PrepVars, self).__init__()
def run(self):
print ("test {0}".format(self.ipadd_sw2))
当我运行代码时,我得到一个错误(见下文)。我不知道为什么会这样。如果代码在prep_vars.py中运行,它将正常运行
错误
AttributeError: 'SessionRun' object has no attribute '_ws'
可能是您的
try
块引发了异常。您是否看到打印出来的“test 123”
?如果是,则确认异常引发,因此未定义。\u ws
使用
try…不是最好的主意,除非是这样。super(PrepVars,self)。\uuu init\uuuuuuuuuu()
应该是super(SessionRun,self)。\uuuu init\uuuuuuuuuuu()
。实际上,您不是在调用PrepVars.\uuuu init\uuuu()
而是在调用对象。\uuuuu init\uuuu()
跳过PrepVars
。我已经厌倦了。收到另一个错误,然后我发现工作表应该在actions文件夹中,而不是lib文件夹中。谢谢