[英]Is there a __getattribute__ to get a class or object from a python module?
我有一個像這樣的字符串:
classname = "Recipe"
現在,我有一個模塊“ contenttype.py”,我想執行以下操作:
import contenttype
myobject = contenttype.__getobject__(classname)(param=value)
在模塊的頂層是否有類似於getattribute的東西?
我知道我可以使用exec()來做到這一點,但我正在努力避免這種情況。
謝謝
編輯:
我找到了一種方法,但我不認為這是件好事。
import inspect
myobject = dict(inspect.getmembers(contenttype))[classname](param=value)
模塊只是一個對象,因此,可以在它上使用__getattribute__
。
但是您不想直接調用__getattribute__
,這是一個實現細節。 要訪問對象(包括模塊成員getattr()
上的命名屬性,請使用getattr()
。
getattr(contenttype, classname)(param= value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.