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')) #重新写入文件
原文地址:https://www.cnblogs.com/qing-chen/p/7289366.html