標籤:highlight als pre str read ret mutate val eve
來看一個好多軟體的常見文檔格式如下:
[DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9ForwardX11 = yes [bitbucket.org]User = hg [topsecret.server.com]Port = 50022ForwardX11 = no
如果想用python產生一個這樣的文檔怎麼做呢?
import configparser config = 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‘<br>with open(‘example.ini‘, ‘w‘) as configfile: config.write(configfile)
import configparserconfig = configparser.ConfigParser()#---------------------------------------------查print(config.sections()) #[]config.read(‘example.ini‘)print(config.sections()) #[‘bitbucket.org‘, ‘topsecret.server.com‘]print(‘bytebong.com‘ in config)# Falseprint(config[‘bitbucket.org‘][‘User‘]) # hgprint(config[‘DEFAULT‘][‘Compression‘]) #yesprint(config[‘topsecret.server.com‘][‘ForwardX11‘]) #nofor key in config[‘bitbucket.org‘]: print(key)# user# serveraliveinterval# compression# compressionlevel# forwardx11print(config.options(‘bitbucket.org‘))#[‘user‘, ‘serveraliveinterval‘, ‘compression‘, ‘compressionlevel‘, ‘forwardx11‘]print(config.items(‘bitbucket.org‘)) #[(‘serveraliveinterval‘, ‘45‘), (‘compression‘, ‘yes‘), (‘compressionlevel‘, ‘9‘), (‘forwardx11‘, ‘yes‘), (‘user‘, ‘hg‘)]print(config.get(‘bitbucket.org‘,‘compression‘))#yes#---------------------------------------------刪,改,增(config.write(open(‘i.cfg‘, "w")))config.add_section(‘yuan‘)config.remove_section(‘topsecret.server.com‘)config.remove_option(‘bitbucket.org‘,‘user‘)config.set(‘bitbucket.org‘,‘k1‘,‘11111‘)config.write(open(‘i.cfg‘, "w"))增刪改查
python configparser模組