簡體   English   中英

是否有__getattribute__來從python模塊中獲取類或對象?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM