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>
    
    
    • 经验来之不易,请大家看完觉得有帮助,请给点推荐
  • 相关阅读:
    Python 数据处理 正则匹配,清洗脏数据
    Pycharm自用激活码
    编程杂谈 集群与分布式
    win10 向右键添加管理员级CMD
    win10 笔记本键盘永久屏蔽Numlk键
    Golong 环境搭建
    python 各种锁机制归纳整理
    MySQL数据库操作
    Web框架本质
    Django框架
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/14218139.html
Copyright © 2011-2022 走看看