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'が定義されていません