我在这里有关于stackoverflow的建议,内容涉及如何从根文件夹之外的路径导入类:如何动态加载Python类 python是否等效于Java Class.forName()?
不幸的是,这引发了错误:ValueError:空模块名称
据我了解,导入不应返回空模块,例如imp的load_source方法。因此,我既不了解该错误,也不了解如何处理。
我在这里实施错了什么?您能在这里将我向正确的方向倾斜吗?
谢谢!
代码:
klass = __import__('..folder.module.Class_A')
some_object = klass()
class class_B(some_object):
def run(self):
print ('Test OK!')
导入的类(模块内容):
class Class_A():
def __init__(self, arg1, *args):
def run(self):
pass
首先,您没有正确使用导入。
选项1:
根据https://docs.python.org/2/library/functions.html# import,您应该执行以下操作:
klass = __import__('folder.module', globals(), locals(), ['Class_A'], -1)
现在,如果您想要Class_A本身,则应该执行以下操作:
some_object = klass.Class_A
然后,您可以使用以下方法从中继承:
class class_B(some_object):
def run(self):
print ('Test OK!')
选项2:
from folder.module import Class_A
然后,您可以使用以下方法从中继承:
class class_B(Class_A):
def run(self):
print ('Test OK!')
注意:在folder.module文件夹中应为python软件包,模块应为python模块
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句