Python集中化管理平台Ansible介绍与YAML简介

时间:2021-05-22

本文实例讲述了Python集中化管理平台Ansible介绍与YAML。分享给大家供大家参考,具体如下:

一 中文社区

http://ansible.cn/forum.php

二 点睛

Ansible(http:///ansible/, 其中提供了不少配置例子供参考。

三 YAML语言

1 点睛

YAML是一种用来表达数据序列的编程语言,它的主要特点包括: 可读性强、语法简单明了、支持丰富的语言解析库、通用性强等。 Ansible与Saltstack环境中配置文件都以YAML格式存在,熟悉YAML结构及语法对我们理解两环境的相关配置至关重要。

下面的示例定义了在 master的不同业务环境下文件根路径的描述:

file_roots:base: - /srv/salt/dev: - /srv/salt/devprod: - /srv/salt/prod

2 块序列描述

块序列就是将描述的元素序列映射到Python的列表(List)中。以下代码演示了YAML与Python的对应关系:

import yamlobj=yaml.load("""- Hesperiidae- Papilionidae- Apatelodidae- Epiplemidae""")print obj

本例中引用“-”来分隔列表中的每个元素,运行结果如下:

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/9_1_1.py
['Hesperiidae', 'Papilionidae', 'Apatelodidae', 'Epiplemidae']

YAML也存在类似于Python块的概念,例如:

- Hesperiidae- Papilionidae- Apatelodidae- Epiplemidae- China- USA- Japan

3 块映射描述

块映射就是将描述的元素序列映射到Python的字典(Dictionary)中, 格式为“键(key):值(value)”,以下为YAML例子:

import yamlobj=yaml.load("""hero: hp: 34 sp: 8 level: 4orc: hp: 12 sp: 0 level: 2""")print obj

对应的Python结果为:

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/9_1_1.py
{'hero': {'hp': 34, 'sp': 8, 'level': 4}, 'orc': {'hp': 12, 'sp': 0, 'level': 2}}

4 嵌套

YAML块序列与块映射是可以自由组合在一起的,它们之间可以相互嵌套,通过非常灵活的组合,可以帮助我们描述更加复杂的对象属性,例如:

import yamlobj=yaml.load("""- hero: hp: 34 sp: 8 level: 4- orc: hp: - 12 - 30 sp: 0 level: 2""")print obj

运行结果如下:

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/9_1_1.py
[{'hero': {'hp': 34, 'sp': 8, 'level': 4}}, {'orc': {'hp': [12, 30], 'sp': 0, 'level': 2}}]

更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章