zoukankan      html  css  js  c++  java
  • 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')) #重新写入文件
    
  • 相关阅读:
    SharpReader的效率:支持meme聚合
    RSS阅读器:从订阅到发现之旅?
    关于word使用WildCards进行查找和替换
    Cannot resolve plugin org.apache.maven.plugins:mavencleanplugin:2.5
    MyBatis
    python matplotlib中axes与axis subplot的区别是什么?
    MyBatis中settings属性配置详解
    IDEA中 Project 和 Module 的区别
    Pycharm 运行程序后如何 如何查看变量的值(不通过debug的方式)
    查看oracle是否正常、表空间 (AIX)
  • 原文地址:https://www.cnblogs.com/qing-chen/p/7289366.html
Copyright © 2011-2022 走看看