有很多軟件的配置文件都是外置的旁壮,比如說這樣的軟件:
[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
[bitbucket.org]
User = hg
[topsecret.server.com]
Port = 50022
ForwardX11 = no
這種配置文件和代碼互相隔離楼誓,互不影響。所以我們可以使用python生成一個這樣的配置文件
生成這樣的配置文件我們可以使用Python的configparser模塊
import configparser
'''生成配置文件'''
config = configparser.ConfigParser()
# 定義存儲的鍵值對字典
config['DEFAULT'] = {'text': 'abc', 'age': 22, 'tuple': (1, 2, 3, 4)}
config['DEFAULT']['ForwardX11'] = 'yes'
config['ANDROID'] = {'number': 139}
android = config['ANDROID']
android['platform'] = '4.4'
android['cpu'] = 'x86'
android['factory'] = 'apple'
config['COMPUTER'] = {}
computer = config['COMPUTER']
computer['type'] = 'notbook'
with open('example.ini', 'w') as file:
# 使用config寫入到文件中
config.write(file)
'
'''讀取配置文件'''
config.read('example.ini')
# 讀取default
print(config.defaults())
# 讀取第一節(jié)點
print(config.sections())#>>> ['ANDROID', 'COMPUTER']
# 判斷是否存在節(jié)點
print('test' in config)
# 讀取單個節(jié)點的值
print(config['ANDROID']['cpu']) # >>> x86
# 遍歷所有
for key in config:
print(key)
# 得到某個節(jié)點下的鍵
print(config.options('COMPUTER'))
# 獲取某個節(jié)點下的元素
print(config.items('COMPUTER'))
# 增刪改
# 增加
config.read('example.ini')
config.add_section('ADD')
# 刪除節(jié)點
config.remove_section('COMPUTER')
# 刪除節(jié)點下的元素
config.remove_option('ANDROID', 'cpu')
# 改
config.set('ANDROID', 'platform', '5.0')
# 操作完畢后寫入
config.write(open('example.ini', 'w'))