configparser模块
1、configparser模块适用于配置文件的格式与Windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。
某xxx服务器的配置文件:
[DEFAULT] ServerAliveInterver = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port = 50022 ForwardX11 = no
2、configparser可以对以上的文件进行初始化的处理。
初始化写入文件:
import configparser config = configparser.ConfigParser() config['DEFAULT'] = { 'sleep':1000, 'session-time-out':30, 'user-alive':99999 } config['TEST-DB'] = { 'db_ip':'192.168.15.56', 'port':'3306', 'u_name':'root', 'u_pwd':'123456' } config['168-DB']={ 'db_ip':'192.168.15.68', 'port':'3306', 'u_name':'root', 'u_pwd':'123456' } config['173-DB']={ 'db_ip':'192.168.15.46', 'port':'3306', 'u_name':'root', 'u_pwd':'123456' } f = open('db.ini',mode='w') config.write(f) #写入文件 f.flush() f.close()
读取文件信息:
import configparser config = configparser.ConfigParser() config.read('db.ini') #读取文件 print(config.sections()) #获取到section.章节...DEFAULT是给每个章节都配备的信息 print(config.get('DEFAULT','SESSION-TIME-OUT')) #从xxx章节中读取到xxx信息 #也可以像操作字典一样 print(config['EST-DB']['DB_IP']) print(config['173-DB']['db_ip']) for k in config['168-DB']:T print(k) for k,v in config['168-DB'].items(): print(k,v) print(config.options('168-DB')) #同for循环,找到‘168-DB’下的所有键 print(config.items('168-DB')) #找到‘168-DB’下所有的键值对 print(config.get('168-DB','db_ip')) #get方法Section下的key对应的value 结果: ['TEST-DB', '168-DB', '173-DB'] 30 192.168.15.56 192.168.15.46 db_ip port u_name u_pwd sleep session-time-out user-alive db_ip 192.168.15.68 port 3306 u_name root u_pwd 123456 sleep 1000 session-time-out 30 user-alive 99999 ['db_ip', 'port', 'u_name', 'u_pwd', 'sleep', 'session-time-out', 'user-alive'] [('sleep', '1000'), ('session-time-out', '30'), ('user-alive', '99999'), ('db_ip', '192.168.15.68'), ('port', '3306'), ('u_name', 'root'), ('u_pwd', '123456')] 192.168.15.68
3、增删改操作:
import configparser config = configparser.ConfigParser() config.read('db.ini') #读取文件 #添加一个章节 config.add_section('189-DB') config['189-DB'] = { 'db_ip':'192.168.15.189', 'port':'3306', 'u_name':'root', 'u_pwd':'123456' } #修改信息 config.set('168-DB','db_ip','10.10.10.168') #删除章节 config.remove_section('173-DB') #删除元素信息 config.remove_option('168-DB','u_name') #回写文件 config.write(open('db.ini',mode='w'))
浙公网安备 33010602011771号