zoukankan      html  css  js  c++  java
  • python 之 sys.argv 外部传参动态匹配内部字典

    • 问题

      在处理传参的过程中,我每次都是使用固定的字典格式取值,却从来没想过用字符串的方式来获取value,以下是解决办法
      eval() 函数用来执行一个字符串表达式,并返回表达式的值。

    • 实例方法
    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    import sys
    g1 = {"g1": {
        "f1": ["a", "b", "c"],
        "f2": ["a1", "b1", "c1"],
    
    }}
    
    g2 = {"g2": {
        "f1": ["a8", "b9", "c10"],
        "f2": ["a11", "b12", "c13"],
        }}
    
    
    
    if __name__ == '__main__':
    
        a = sys.argv[1]
        b = "%s['%s']" % (a, a)
        print(a)
        print("a", eval(a))
        # eval 字符串转成字典,直接可以获取上面字典里面的数据,完美解决了外部传参进来动态获取字典数据
        # 使用异常捕获问题,输入一错误的参数就直接退出,并且打印默认参数
        #
    
    

    效果:

    C:UsersOPDesktoppython test.py g1
    g1
    a {'g1': {'f1': ['a', 'b', 'c'], 'f2': ['a1', 'b1', 'c1']}}
    
    C:UsersOPDesktop英迪瑞讯IVI_WEBCMDB	mp>python test.py g2
    g2
    a {'g2': {'f1': ['a8', 'b9', 'c10'], 'f2': ['a11', 'b12', 'c13']}}
    
    C:UsersOPDesktop	mp>
    
    
    • 经验来之不易,请大家看完觉得有帮助,请给点推荐
  • 相关阅读:
    虚幻4目录文件结构
    虚幻4编译手记
    几个重要的坐标系
    关于(void**)及其相关的理解
    装饰器总结篇(持续更新ing)
    Linux中find常见用法示例
    linux grep命令
    linux下IPTABLES配置详解
    分布式数据库中间件DDM的实现原理
    消息队列应用场景解析
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/14218139.html
Copyright © 2011-2022 走看看