无法从其他路径导入类-ValueError:空模块名称

约翰·斯拉顿

我在这里有关于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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章