zoukankan      html  css  js  c++  java
  • python 解析 yaml文件

    import yaml

    with open("./test.yaml") as f:
    x = yaml.load(f)

    print(x)


    [{'tasks': [{'yum': {'state': 'latest', 'name': 'httpd'}, 'name': 'ensure apache is at the latest version'}, {'name': 'write the apache config file', 'template': {'dest': '/etc/httpd.conf', 'src': '/srv/httpd.j2'}, 'notify': ['restart apache']}, {'name': 'ensure apache is running', 'service': {'state': 'started', 'name': 'httpd'}}], 'hosts': 'webservers', 'remote_user': 'root', 'vars': {'http_port': 80, 'max_clients': 200}, 'handlers': [{'name': 'restart apache', 'service': {'state': 'restarted', 'name': 'httpd'}}]}]

    test.yaml

    ---
    - hosts: webservers
    vars:
    http_port: 80
    max_clients: 200
    remote_user: root
    tasks:
    - name: ensure apache is at the latest version
    yum:
    name: httpd
    state: latest
    - name: write the apache config file
    template:
    src: /srv/httpd.j2
    dest: /etc/httpd.conf
    notify:
    - restart apache
    - name: ensure apache is running
    service:
    name: httpd
    state: started
    handlers:
    - name: restart apache
    service:
    name: httpd
    state: restarted


    -----------------------------------------------------------------
    import yaml

    d = [{'tasks': [{'yum': {'state': 'latest', 'name': 'httpd'}, 'name': 'ensure apache is at the latest version'}, {'name': 'write the apache config file', 'template': {'dest': '/etc/httpd.conf', 'src': '/srv/httpd.j2'}, 'notify': ['restart apache']}, {'name': 'ensure apache is running', 'service': {'state': 'started', 'name': 'httpd'}}], 'hosts': 'webservers', 'remote_user': 'root', 'vars': {'http_port': 80, 'max_clients': 200}, 'handlers': [{'name': 'restart apache', 'service': {'state': 'restarted', 'name': 'httpd'}}]}]

    with open("./test.yaml","w") as f:
    yaml.dump(d,f)



    test.yaml
    - handlers:
    - name: restart apache
    service: {name: httpd, state: restarted}
    hosts: webservers
    remote_user: root
    tasks:
    - name: ensure apache is at the latest version
    yum: {name: httpd, state: latest}
    - name: write the apache config file
    notify: [restart apache]
    template: {dest: /etc/httpd.conf, src: /srv/httpd.j2}
    - name: ensure apache is running
    service: {name: httpd, state: started}
    vars: {http_port: 80, max_clients: 200}


  • 相关阅读:
    一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
    java: Compilation failed: internal java compiler error
    新建IEDA项目,运行跳出页面404
    windows版 nvm 1.1.7 安装(填坑)
    向量法求三角形垂点
    error C4430:missing type specifier 解决错误
    QML 从无到有 3 (自动更新)
    QML 从无到有 2 (移动适配)
    QML 从无到有 (基础)
    c++ builder 2010 错误 F1004 Internal compiler error at 0x9740d99 with base 0x9
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/7083574.html
Copyright © 2011-2022 走看看