Used to generate and modify common configuration documents, the name of the current module is changed to Configparser in the Python 3.x version.
Here's a look at a lot of the common document formats for software
| 123456789101112 |
[DEFAULT]ServerAliveInterval =45Compression =yesCompressionLevel = 9ForwardX11 =yes[bitbucket.org]User =hg[topsecret.server.com]Port =50022ForwardX11 =no |
What if you want to use Python to generate a document like this?
| 12345678910111213141516 |
importconfigparserconfig =configparser.ConfigParser()config["DEFAULT"] ={‘ServerAliveInterval‘: ‘45‘, ‘Compression‘: ‘yes‘, ‘CompressionLevel‘: ‘9‘}config[‘bitbucket.org‘] ={}config[‘bitbucket.org‘][‘User‘] =‘hg‘config[‘topsecret.server.com‘] ={}topsecret = config[‘topsecret.server.com‘]topsecret[‘Host Port‘] =‘50022‘# mutates the parsertopsecret[‘ForwardX11‘] =‘no‘# same hereconfig[‘DEFAULT‘][‘ForwardX11‘] =‘yes‘with open(‘example.ini‘, ‘w‘) as configfile: config.write(configfile) |
When you're done, you can read it again.
| 123456789101112131415161718192021222324252627282930 |
>>> importconfigparser>>> config =configparser.ConfigParser()>>> config.sections()[]>>> config.read(‘example.ini‘)[‘example.ini‘]>>> config.sections()[‘bitbucket.org‘, ‘topsecret.server.com‘]>>> ‘bitbucket.org‘inconfigTrue>>> ‘bytebong.com‘inconfigFalse>>> config[‘bitbucket.org‘][‘User‘]‘hg‘>>> config[‘DEFAULT‘][‘Compression‘]‘yes‘>>> topsecret =config[‘topsecret.server.com‘]>>> topsecret[‘ForwardX11‘]‘no‘>>> topsecret[‘Port‘]‘50022‘>>> forkey inconfig[‘bitbucket.org‘]: print(key)...usercompressionlevelserveraliveintervalcompressionforwardx11>>> config[‘bitbucket.org‘][‘ForwardX11‘]‘yes‘ |
Configparser additions and deletions to check grammar
| 1234567891011121314151617181920212223242526272829303132333435363738 |
[section1]k1 =v1k2:v2 [section2]k1 =v1importConfigParser config =ConfigParser.ConfigParser()config.read(‘i.cfg‘) # ########## 读 ###########secs = config.sections()#print secs#options = config.options(‘group2‘)#print options #item_list = config.items(‘group2‘)#print item_list #val = config.get(‘group1‘,‘key‘)#val = config.getint(‘group1‘,‘key‘) # ########## 改写 ###########sec = config.remove_section(‘group1‘)#config.write(open(‘i.cfg‘, "w")) #sec = config.has_section(‘wupeiqi‘)#sec = config.add_section(‘wupeiqi‘)#config.write(open(‘i.cfg‘, "w")) #config.set(‘group2‘,‘k1‘,11111)#config.write(open(‘i.cfg‘, "w")) #config.remove_option(‘group2‘,‘age‘)#config.write(open(‘i.cfg‘, "w")) |
Configuration file Authoring in Python Configparser