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

相关文章
相关标签/搜索