导航

 

python动态变量名

import sys

createVar = locals()

listTemp = range(1,10)

for i in range(1, len(sys.argv)):

    print sys.argv[i]

    a,b= sys.argv[i].split('=')

    createVar[a] = b

print "get=",get,"put=",put   

值得注意的是,用python动态变量名这个功能时,外部传入的参数不可以与代码内部定义的变量名相同,否则会引起变量交叉读取错误,从而导致代码错误并且抛出一个变量无法读取的异常,原因目前未知,需要解析python底层库的源码

解决办法:在python代码中定义极为变态的变量名,外部传入参数时绝对不会输入那种就好了

saltstack内部提供了一系列方法,所以只要写一个module,module包含以下方法即可:

def test(**kwargs):
    param=kwargs['__pub_arg'][0]
    kw=
    for d,x in param.items():
        kw[d]=x
    return kw

 

posted on 2016-04-10 16:17  slqt  阅读(614)  评论(0编辑  收藏  举报