zoukankan      html  css  js  c++  java
  • python读取yaml配置文件

    首先了解一下yaml最基础、最常用的语法

    • 大小写敏感
    • 使用缩进代表层级关系
    • 缩进只能用空格,不能使用Tab
    • 不要求空格个数,只要相同层级左对齐
    • 冒号后面需要输入一个空格,再输入值
    • 字符串默认不使用引号表示,也可以用单引号或双引号,双引号不会对特殊字符进行转义
    s1: '内容
    字符串'
    s2: "内容
    字符串"
    
    • 单引号之中如果还有单引号,必须连续使用两个单引号转义
    str: 'labor''s day' 
    

     map嵌套map(字典)

    # YAML表示
    websites:
        YAML: yaml.org 
        Ruby: ruby-lang.org 
        Python: python.org 
        Perl: use.perl.org 
    
    # 对应Json表示
    { websites: 
       { YAML: 'yaml.org',
         Ruby: 'ruby-lang.org',
         Python: 'python.org',
         Perl: 'use.perl.org' } }
    

     map嵌套list(列表)

    # YAML表示
    languages:
        - Ruby
        - Perl
        - Python 
        - c
    
    # 对应Json表示
    { languages: [ 'Ruby', 'Perl', 'Python', 'c' ] }  

     list嵌套list

    # YAML表示
    -
        - Ruby
        - Perl
        - Python 
    - 
        - c
        - c++
        - java
    
    # 对应Json表示
    [ [ 'Ruby', 'Perl', 'Python' ], [ 'c', 'c++', 'java' ] ]
    除此以外,还可以如下表示该结构
    
    # 方法2
    - - Ruby
        - Perl
        - Python 
    - - c
        - c++
        - java
    
    # 方法3
    - [Ruby,Perl,Python]
    - [c,c++,java]
    

     list嵌套map

    # YAML表示
    -
        id: 1
        name: huang
    -
        id: 2
        name: liao
    
    # 对应Json表示
    [ { id: 1, name: 'huang' }, { id: 2, name: 'liao' } 

    1、安装yaml

    pip install pyyaml
    

    2、编写一个py文件,读取yaml文件,yaml文件需要通过load方法转换成字典格式,然后再通过字典取值的方式获得值  

    # -*- coding:utf-8 -*- 
    
    import yaml
    import os
    
    
    # 获取当前文件的RealPath  F:eforeldspages
    fileNamePath = os.path.split(os.path.realpath(__file__))[0]
    
    # 获取配置文件的路径   F:eforeldspagesapplication-lds.yml
    yamlPath = os.path.join(fileNamePath, 'application-lds.yml')
    
    # 先读取文件数据,再通过load方法转成字典
    with open(yamlPath, 'r', encoding='utf-8') as f:
        x = yaml.load(f, Loader=yaml.FullLoader)
        print(x['table']['self'])
    

    load加载成字典形式后,就可以使用key-value的形式去取值了。  

  • 相关阅读:
    一些特效,不断更新
    关于cin输入字符串
    开辟二维数组
    c++ 有关webBrowser控件的一些整理
    WebBrowser 常用方法
    WebRequest和WebBrowser同时登陆,使用同一个sessionID
    delphi 编写的com 对象 用php调用的实例
    Two math problems in http://projecteureka.org sumitted by me.
    delphi dll 实例 与 dll窗体实例
    SSH酒店点菜系统笔记
  • 原文地址:https://www.cnblogs.com/wulixia/p/12069500.html
Copyright © 2011-2022 走看看