关于处理json数据的代码问题

来源:7-17 工程view视图层代码逻辑实现及自动化接口执行演示

MenHung

2019-03-19

老师,你好:
在 “7-17 工程view视图层代码逻辑实现及自动化接口执行演示” 这一章节中,处理浏览器端传送过来的json数据的一段代码,如下:

mod_type = init_jobs["mod_type"] if not init_jobs["mod_type"] else "shell"
sn_keys = init_jobs["sn_key"]
exec_args = init_jobs[u"exec_args"]
group_name = init_jobs[u"group_name"] if not init_jobs[u"group_name"] else "imoocc"

对这段代码:mod_type = init_jobs[“mod_type”] if not init_jobs[“mod_type”] else “shell”,我不懂这段的意义。
我的理解是,如果传送过来的json数据中,“mod_type"如果对应的值,则不取其对应的值,而是改为"shell”,那传送过来的数据还有意义吗?同理后面的group_name也是一样。
不知是不是我理解有误,望老师解惑。

写回答

1回答

Jeson

2019-03-20

if not init_jobs[“mod_type”] 

    init_jobs[“mod_type”] 

else 

    "shell"

判断init_jobs[“mod_type”]是否有数值,如果没有那么默认就是shell。

这个代码的意义就是给一个默认值,ansible执行的时候默认用shell这个模块来执行任务。

0
4
Jeson
回复
MenHung
嗯,我搞错了,是的,这里不需要not
2019-03-23
共4条回复

Python+Django+Ansible Playbook自动化运维项目实战

【课程升级3.6版本】大牛全面践行DevOps,运维与开发间高效协作

861 学习 · 326 问题

查看课程