自动化测试工具 python 中如何实现字符串传递 kwargs 的变量呢

tongyuruo · 2017年01月17日 · 最后由 chen 回复于 2017年01月18日 · 1156 次阅读

最近在编写接口测试的东西,python 写的,遇到一个问题,请教下大牛们,非常感谢。
有一个方法,function A(userid,**kwargs){}
然后有一个配置文件,里面会配置这个函数的一些参数,比如 a=11;b=22 等

我现在可以从配置文件中解析出来这段变量,list 或者 string 类型都可以,但是怎么传递给 function A 呢?
传递的时候,目前只能作为一个变量,但是 function 是需要把这段作为多个变量传递的,总是报错:
A() takes exactly 1 arguments (2 give)

共收到 7 条回复 时间 点赞

把 a=11;b=22 变成字典,比如叫 conf_dict,(可以用字典的 update 方法来自己定义 key(a) 和 value(11)
然后 A(userid, **conf_dict)

如果配置文件是 yaml 或者 ini 的格式,这样源头就变成字典了,会更方便

a=11;b=22 是 str 类型?然后传给 function A?

#1 楼 @264768502
太感谢了,这样确实可行

#3 楼 @taflo 是我可以把变量解析成 str 或者字典的格式,然后看哪种比较方便传递些就好

#2 楼 @tavisdxh
恩,是的,多谢

2楼 已删除

#5 楼 @ruoya503 那还是 **dict 方便

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册