我有type
一个值为“MBSquareObject”的字符串。MBSquareObject
是一个名为MBObject
. 我想MBSquareObject
动态导入。
如果方形对象在其自己的文件中,则此方法有效:
__import__(type)
但是,我想做的是相当于from MBObject import MBSquareObject
. 但是,这不起作用:
from MBObject __import__(type)
我还能怎么做?
编辑:给出的答案是假设 MBSquareObject 是 MBObject 上的某种对象,但它只是另一个类。MBSquareObject 是 MBObject 的子类,因此它们列在同一个文件中。
编辑:由于某种原因,没有一个答案有效。这是我所拥有的:
# this is imported at the top of the file
from MBObject import MBObject
type = 'MBSquareObject'
__import__('MBObject', globals(), locals(), [type])
object_class = eval(type)
object = object_class()
错误:NameError:未定义名称“MBSquareObject”