YAML基础语法(一)

1、yaml的基础语法:
pip install pyyaml
>>> import yaml
>>> f = open("/home/hadoop/yaml/test.yml")
>>> res = yaml.load(f)
>>> print(res)

案例一:
---
name:xiaowei
age: 20
sex: male
 
对应json结果:{'age': 20, 'name': 'xiaowei', 'sex': 'male'}  #一个字典,包含三个元素,每一元素都是一个k/v键值对

案例二:
---
name:
    id: 001
    age: 20
    sex: male

对应json结果:{'name': {'age': 20, 'id': 1, 'sex': 'male'}}  # 也是一个字典,只包含一个元素,key为name,value是一个字典包含三个k/v对

案例三:
---
- 1
- 2
- hello
- world
对应json结果:[1, 2, 'hello', 'world']    #一个列表包含四个元素, 用减号"- "分隔的都是属于同一个列表的

案例四:
---
1
2
hello
world
对应json结果:1 2 hello world  #四个字符串

案例五:
---                                        # yaml格式文件的首行必须以三个"-"开始
- name: add profile info fo user        # "-"减号表示列表中一个元素的开始,直到出现下一个减号为止
  copy:
    src: example_profile
    dest: /home/hadoop/.profile
    owner: hadoop
    group: hadoop
    mode: 0744
    
- name: add private keys for user
  copy:                            #这种":"冒号后面换行的表示下面的一整块都是这个key对应的value
     src: item_src                #这种整齐的放在一起的,左对齐的key:value块属于同一字典map
     dest: /home/.ssh/item_src
     owner: hadoop
     group: hadoop
     mode: 0600
  when:ansible_os_family == "Redhat"
  sudo: yes
对应json结果: [
                {
                    'copy': {'dest': '/home/hadoop/.profile', 'src': 'example_profile', 'group': 'hadoop', 'mode': 484, 'owner': 'hadoop'}, 
                    'name': 'add profile info fo user'
                },
                {
                    'copy': {'dest': '/home/.ssh/item_src', 'src': 'item_src', 'group': 'hadoop', 'mode': 384, 'owner': 'hadoop'},
                     'name': 'add private keys for user',
                    'when': 'ansible_os_family == "Redhat"',
                    'sudo': 'yes'
                }
               ]    
               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值