configparser解析配置文件
admin
2023-07-09 02:44:43
0

1.配置文件

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

[bitbucket.org]
User = hg

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

2.解析配置文件

>>> import configparser # 导入模块
>>> config = configparser.ConfigParser()  #实例化(生成对象)
>>> config.sections()  #调用sections方法
[]
>>> config.read('example.ini')  # 读配置文件(注意文件路径)
['example.ini']
>>> config.sections() #调用sections方法(默认不会读取default)
['bitbucket.org', 'topsecret.server.com']
>>> 'bitbucket.org' in config #判断元素是否在sections列表内
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) # for循环 bitbucket.org 字典的key,注意,DEFAULT中的也会出来,因为DEFAULT中的配置信息默认就是给下面的模块中的内容使用的
...
user
compressionlevel
serveraliveinterval
compression
forwardx11
>>> config['bitbucket.org']['ForwardX11']
'yes'

3.其他增删改查方法

 [group1] # 支持的两种分隔符“=”, “:”
k1 = v1
k2:v2

[group2]
k1 = v1

>>> import configparser

>>> config = configparser.ConfigParser()
>>> config.read('i.cfg')
['i.cfg']

# ########## 读 ##########
>>> secs = config.sections()
>>> print(secs)
['group1', 'group2']

>>> options = config.options('group2') # 获取指定section的keys
>>> print(options)
['k1']

>>>item_list = config.items('group2') # 获取指定 section 的 keys & values ,key value 以元组的形式
>>>print(item_list)
[('k1', 'v1')]

>>>val = config.get('group1','k1') # 获取指定的key 的value
>>> print(val)
v1

>>>val = config.getint('group1','key')

# ########## 改写 ##########
>>>sec = config.remove_section('group1') # 删除section 并返回状态(true, false)
>>> print(sec)
True

>>>config.write(open('i.cfg', "w")) # 对应的删除操作要写入文件才会生效

>>>sec = config.has_section('vita')
>>> print(sec)
False

>>>sec = config.add_section('vita')
>>>config.write(open('i.cfg', "w")) # 
查看内容
[group2]
k1 = v1

[vita]

>>>config.set('group2','k1',"11111")
>>>config.set('group2','k1',"2222")
>>>config.write(open('i.cfg', "w"))
查看内容
[group2]
k1 = 11111
k2 = 222

[vita]

>>>config.remove_option('group2','age')
>>>config.write(open('i.cfg', "w"))

相关内容

热门资讯

美前副总统:共和党失去了方向,... 2026年是美国的中期选举年,共和党选情不利,可能在年底的选举中遭遇挫败。美国前副总统彭斯5月31日...
南枝原来去过中国?《给阿嬷的情... 《给阿嬷的情书》票房口碑双丰收,目前票房已突破13亿。凤凰卫视最新一期《问答神州》专访了该片导演蓝鸿...
法国海军扣押一艘俄“影子舰队”... 近日,法国海军在大西洋海域扣押了一艘据称从俄罗斯摩尔曼斯克出发的油轮,引发俄方强烈不满。俄新社6月1...
凤凰晚报丨面粉染头模仿黄仁勋,... 今日人物【面粉染头模仿黄仁勋,农村青年走红后称遭“法务”警告】“先赔偿5000元肖像侵权使用费,再删...
亲特朗普极右派候选人领跑哥伦比... 【文/观察者网 熊超然】当地时间5月31日,哥伦比亚总统选举拉开帷幕,首轮投票计票工作已完成逾99%...
2026年度网络举报系列宣传活... 5月28日至29日,以“每一件举报,都是共治的力量——豫你e行 同心护网”为主题的2026年度网络举...
中原首例帝企鹅DNA性别鉴定!... 近日,郑州海昌海洋公园正式对外公布中原首对人工繁育的帝企鹅萌宝的DNA性别鉴定报告。这是中原首个将 ...
我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...