[英]Accessing globals of subclass' module
我最近決定編寫一個輔助類來從模塊輸出一些信息。 它看起來像這樣:
class VarPrinter(object):
@classmethod
def save(cls):
globals = cls.globals
#do stuff with globals...
for i in things_to_output:
...
# subclass in another module
# e.g. in foo.py
class FooPrinter(VarPrinter):
things_to_output = ('foo', 'bar')
globals = globals()
問題是:有沒有辦法獲得一個模塊的globals()
數組,其中VarPrinter
被子類化,因此我不需要像globals = globals()
那樣顯式傳遞它。 換句話說,我想要的解決方案就好像我在子類的模塊中重復了baseclass的代碼。 最初我認為eval
會幫助做到這一點,但事實並非如此。
您可以使用cls.__module__
並在sys.modules
查找它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.