zoukankan      html  css  js  c++  java
  • sys.modules[__name__]与getattr一起使用的一个实例

    第一个例子

            关于sys.modules[__name__]的用法,百度上阅读量比较多得一个帖子是:https://www.cnblogs.com/robinunix/p/8523601.html

      对于里面提到的基础性的知识点这里就不再重复了,大家看原贴就好。这里为大家提供一个详细的例子,帮助大家更进一步的理解。

      有这样一个需求:我们需要在whw.json文件中读取出name键对应的value,然后用这个value通过getattr方法取到相应模块的对象名,实现该对象中的方法。

      whw.json文件中的内容如下: 

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

      具体代码如下:

    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()

      程序的实现效果如下:

    第二个例子 

  • 相关阅读:
    数组
    css动画
    mui 常用手势
    ejs 用到的语法
    css 高度塌陷
    SQL 用到的操作符
    position: relative;导致页面卡顿
    h5 图片生成
    li之间的间隙问题
    虚拟机扩容mac
  • 原文地址:https://www.cnblogs.com/paulwhw/p/9000529.html
Copyright © 2011-2022 走看看