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')) #重新写入文件