gpt4 book ai didi

python - 无法从其他路径导入类 - ValueError : Empty module name

转载 作者:行者123 更新时间:2023-11-28 16:36:07 24 4
gpt4 key购买 nike

我听从了关于如何导入类的 stackoverflow 上的建议从根文件夹之外的路径: How to dynamically load a Python class Does python have an equivalent to Java Class.forName()?

不幸的是,这引发了错误:ValueError:空模块名称

据我了解,import 不应返回空模块,如 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

最佳答案

首先你没有正确使用 import。

选项 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包,module应该是一个python模块

关于python - 无法从其他路径导入类 - ValueError : Empty module name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25944343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com