当前位置:首页 > Python教程 > python技巧

python与saltstack动态传参变量名的研究

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

 

原文:http://www.cnblogs.com/slqt/p/5374413.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐