[英]Can not import class from another path - ValueError: Empty module name
我在stackoverflow上關於如何從根文件夾之外的路徑導入類的建議: 如何動態加載Python類 python是否具有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
首先,您沒有正確使用導入。
選項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模塊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.