• python之配置文件


    一、配置文件类型

    1、YAML

    2、TOML

    3、JOSN

    4、XML

    5、INI

    ---目前主流的配置文件为:YAML,INI--为传统的配置文件

    ---配置文件:

      一个配置文件由两部分组成:注释和内容

      注释:用来解释必要内容,说明作用

      内容:由键值对key-value的形式存储

    配置文件是用于配置计算机程序的参数和初始化设置的文件,如果没有这些配置,程序可能无法执行

    二、yaml配置文件

    1、功能强大,简洁,可表示多种数据类型,采用 .yaml格式。这是目前功能最强大的格式。

    适用场景:多层级关系,数组,可定义常量(包括:整数,浮点数,字符串,NULL,日期,布尔,时间)

    2、python有yaml配置的第三方库,pyyaml,安装命令:pip install pyyaml

    3、yaml的基本语法

    1)大小写敏感

    2)key后面的:与value之间需要空格

    3)注释#,与python一致

    4)使用缩进表示层级关系

    5)缩进时不允许使用tab键,只能使用空格

    6)缩进的空格数无限制,同一层级的元素缩进相同即可

    4、YAML 支持的数据结构有三种:

    1、对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary);

    key: value

    2、数组:一组按次序排列的值,又称为序列(sequence)/列表(list);使用“-”区分序列/列表的一个元素

    users: 

       -

      username:"hee"

      password:"1234"

       -

      username:"yyy"

      password:"123"

    此处:key为users的value是一个序列,每个元素是个字典,"users":[{"username":"hee","password":"1234"},{"username":"yyy","password":"123"}]

    3、纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期等;

    5、yaml配置文件的解析

    1)先安装第三方库 pip install pyyaml

    import yaml

    with open("h_yaml.yaml",encoding="utf-8") as f:

      data = yaml.load(f,Loader=yaml.SafeLoader)  #  Loader为安全加载,使用可去掉告警

    print(data["users"][0]["username"])  # 输出结果为 hee

    解析后获取内容使用字典列表获取值的方法获取

    二、INI配置文件

    1、INI配置文件是传统的配置文件,由节、键、值组成。

    节--section 分组

    [section] 

    参数(键=值)option

    option=value (value不能加引号)

    注释

    注解使用分号表示";"。在分号后面的文字,直到该行结尾都全部为注解。

    2、INI配置文件格式很简单,最基本的三个要素是:parameters,sections和comments。都是字符串形式

    1)parameters:INI配置文件最基本的元素就是parameters,每一个parameter都是由option和value组成,中间用等号=连接,”name=hello”name为option,hello为value

    2)sections:所有的patameter都是以section为单位结合在一起的,[seciton]独占一行,不可重名,在[seciton]后的参数都属于这个section

    3)comments:在INI文件中注释语句是以分号“;”开始的。所有的所有的注释语句不管多长都是独占一行直到结束的。在分号和行结束符之间的所有内容都是被忽略的。

    例:INI配置文件

    ;默认配置

    [default]

    host=http://example.com

    port=7788

    ;数据库

    [db]

    host=http://yyy.example.com

    port=3306

    3、INI配置文件的解析

    1)导入Configparser

    2)创建Configparser对象,调用read()方法

    3)获取配置文件数据

    from configparser import ConfigParser

    parser = ConfigParser()

    parser.read("hee.ini" enconding="utf-8")  # 此处不需要打开文件就可以read是因为ConfigParser的read方法封装了open 

    print(parser.get("default","host"))

    print(parser.get("db","host"))

    本文来自博客园,作者:%女王%,转载请注明原文链接:https://www.cnblogs.com/lynne-wu/p/14234956.html

  • 相关阅读:
    mybatis中一直获取xml配置文件输入流值为空的类似解决方法
    switch中能有的值都有哪些
    length,length(),size()
    Spring中IOC的基本原理
    ajax中的一些小问题
    Servlet简单业务流程
    推荐用字节流处理文件拷贝
    更有效率的数据交换
    1.7版本处理io流自动关闭流的写法
    集合中的简单知识
  • 原文地址:https://www.cnblogs.com/lynne-wu/p/14234956.html
Copyright © 2020-2023  润新知