• python模块详解 YAML和configparser


    YAML模块

    主要用来做配置文件用的。

    yaml格式:

    详细参考官方文档:PyYAML

     configparser模块

    同样是用于生成和修改配置文件用的。格式和mysql一样。

    生成配置文件

    import configparser 
    
    config = configparser.ConfigParser()  #生成对象
    config['DEFAULT'] =  {'Server1':'45',  #每一个块的属性可以直接写字典
                            'Server2':"50",
                            'Server3':'51'
                        }
    config['chunk1']={} #
    config['chunk1']['property1']='abc'
    
    config['chunk2']={}
    chunk2 = config['chunk2']
    chunk2['property1'] = '50'
    chunk2['property2'] = '190'
    with open('conf.ini','w')as configfile:
        config.write(configfile)
    

     生成后的文件

    [DEFAULT]
    server1 = 45
    server2 = 50
    server3 = 51
    
    [chunk1]
    property1 = abc
    
    [chunk2]
    property1 = 50
    property2 = 190
    

     读配置文件

    import configparser
    config = configparser.ConfigParser()
    config.read('conf.ini')
    print(config.sections()) #['chunk1', 'chunk2'] 
    

    sections()方法默认不打印 DEFAULT这个块。

    读某个块下的某一个属性

    print(config['chunk1']['property1']) #abc
    
    print(config.get('chunk1','property1')) #abc   第一个参数是块 第二个参数是属性的Keys
    
    print(config.getint('chunk2','propertya1')) #50 这个value必须是一个数字
    

    打印DEFAULT下的每一项

    print(config.defaults()) #[('server1', '45'), ('server2', '50'), ('server3', '51')]
    

     读某一块下的keys 并返回DEFAULT这一块下的所有属性 返回一个列表

    print(config.options('chunk1'))#['property1', 'server1', 'server2', 'server3']
    

      读某一块下的属性  并返回DEFAULT这一块下的所有属性 属性的key和value作为一个元组 返回一个列表 

    print(config.items('chunk1'))#[('server1', '45'), ('server2', '50'), ('server3', '51'), ('property1', 'abc')]
    

    删除某一块属性

    config.remove_section('chunk1') #删除一个块
    config.write(open('conf.ini','w')) #重新写入文件
    
  • 相关阅读:
    Java解惑之TreeSet是如何去重的
    Spring.profiles多环境配置最佳实践
    设计模式-单例模式的5种实现
    JAVA实现单双向链表的增、删、改、查
    RxJava/RxAndroid 使用实例实践
    数学模型与计算机科学的认知
    Mac下TensorFlow安装及环境搭建
    2017年Android百大框架排行榜
    python 多线程就这么简单
    python 内置模块之hashlib、hmac、uuid
  • 原文地址:https://www.cnblogs.com/qing-chen/p/7289366.html
Copyright © 2020-2023  润新知