• 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的形式去取值了。  

  • 相关阅读:
    pymysql
    Mysql
    协程
    线程池
    线程 条件
    线程 事件
    线程
    requests
    Linux 时区不对的解决办法
    Linux 简单命令
  • 原文地址:https://www.cnblogs.com/wulixia/p/12069500.html
Copyright © 2020-2023  润新知