sys.modules[__name__]的一個實例

  關於sys.modules[__name__]的用法,百度上閱讀量比較多得一個帖子是:https://www.cnblogs.com/robinunix/p/8523601.htmlhtml

  對於裏面提到的基礎性的知識點這裏就再也不重複了,你們看原貼就好。這裏爲你們提供一個詳細的例子,幫助你們更進一步的理解。json

  有這樣一個需求:咱們須要在whw.json文件中讀取出name鍵對應的value,而後用這個value經過getattr方法取到相應模塊的對象名,實現該對象中的方法。函數

  whw.json文件中的內容以下: spa

{"name": "whw", "password": "wanghwhwhw", "email": "1122@qq.com"}

  具體代碼以下:unix

import sys
import json

f = open('whw.json','r')
data = f.read()
name = json.loads(data)['name']

def whw():
    print('HelloWorld!')

class Wanghw:
    def __init__(self):
        pass #構造函數略

    def run(self):
        whw_obj = getattr(sys.modules[__name__],name)
        whw_obj()

if __name__ == '__main__':
    wanghw = Wanghw()
    wanghw.run()

  程序的實現效果以下:code

相關文章
相關標籤/搜索