1. 程式人生 > >Python基礎-ConfigParser模塊

Python基礎-ConfigParser模塊

ng- def section 一個 user 解析 false group onf

此模塊用於生成和修改常見配置文檔,當前模塊的名稱在 python 3.x 版本中變更為 configparser。

來看一個好多軟件的常見配置文件格式如下

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes

[bitbucket.org]
User = hg

[topsecret.server.com]
Port = 50022
ForwardX11 = no

解析配置文件

>>> import configparser
>>> config = configparser.ConfigParser()
>>> config.sections()
[]
>>> config.read(‘example.ini‘)
[‘example.ini‘]
>>> config.sections()
[‘bitbucket.org‘, ‘topsecret.server.com‘]
>>> ‘bitbucket.org‘ in config
True
>>> ‘bytebong.com‘ in config
False
>>> config[‘bitbucket.org‘][‘User‘]
‘hg‘
>>> config[‘DEFAULT‘][‘Compression‘]
‘yes‘
>>> topsecret = config[‘topsecret.server.com‘]
>>> topsecret[‘ForwardX11‘]
‘no‘
>>> topsecret[‘Port‘]
‘50022‘
>>> for key in config[‘bitbucket.org‘]: print(key)
...
user
compressionlevel
serveraliveinterval
compression
forwardx11
>>> config[‘bitbucket.org‘][‘ForwardX11‘]
‘yes‘

其它增刪改查語法

[group1]
k1 = v1
k2:v2

[group2]
k1 = v1

import ConfigParser

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‘)

# ########## 改寫 ##########


import configparser
config = configparser.ConfigParser()
config.read(‘test.ini‘)

# sec = config.remove_section(‘group1‘)
# config.write(open(‘i.cfg‘, ‘w‘))

# sec = config.has_section(‘wupeiqi‘)
# print(sec)
# sec = config.add_section(‘wupeiqi‘)
# config.write(open(‘i.cfg‘, ‘w‘))

# config.set(‘group2‘, ‘k1‘, ‘111111‘)
# config.write(open(‘i.cfg‘, ‘w‘))

config.remove_option(‘group2‘, ‘k3‘)
config.write(open(‘i.cfg‘, ‘w‘))

Python基礎-ConfigParser模塊