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