Python全栈之路标准库系列之configparser模块

configparser用于处理特定格式的文件,其本质上是利用open来操作文件。

配置文件格式如下:

# 第一种注释方式
; 第二种注释方式

[node1]  # 节点
k1 = v1  # key = value
k2 : v2  # key : value

实例

创建一个file.conf文件,内容为空,然后进入pythonIDE:

在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
[root@ansheng ~]# touch file.conf 
[root@ansheng ~]# python
Python 2.6.6 (r266:84292, Jul 23 2016, 15:22:56) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

为文件添加节点

>>> import configparser
>>> config = configparser.ConfigParser()
>>> config.read('file.conf', encoding='utf-8')
['file.conf']
# 添加节点"node1","node2",然后写入文件
>>> config.add_section("node1")
>>> config.add_section("node2")
>>> config.write(open('file.conf', 'w'))

检查节点是否存在

# 如果文件存在则返回"True",否则就返回"False"
>>> print(config.has_section('node1'))
True
>>> print(config.has_section('node2'))
True
>>> print(config.has_section('node3'))
False

删除节点

# 如果删除的节点存在则返回"True",否则返回"False"
>>> config.remove_section("node2")
True
>>> config.write(open('file.conf', 'w'))
>>> print(config.has_section('node2'))
False

设置节点内的键值对

# 添加完键值对之后别忘记了写入到文件中
>>> config.set('node1', 'Name', "ansheng")
>>> config.set('node1', 'Blog_URL', "https://blog.ansheng.me")
>>> config.set('node1', 'Hostname', "localhost.localhost")
>>> config.set('node1', 'IP', "127.0.0.1")
>>> config.write(open('file.conf', 'w'))

检查节点内的key是否存在

# 如果节点的Key存在就返回"True",否则返回"False"
>>> print(config.has_option('node1', 'Name'))
True
>>> print(config.has_option('node1', 'IP'))
True
>>> print(config.has_option('node1', 'VV'))
False

删除节点内的key

# 如果删除的节点存在就返回"True",否则就返回"False"
>>> config.remove_option('node1', 'IP')
True
>>> config.write(open('file.conf', 'w'))
>>> print(config.has_option('node1', 'IP'))
False

获取指定节点下指定key的值

# 默认返回的是字符串类型
>>> config.get('node1', 'Name')
'ansheng'
>>> config.get('node1', 'Blog_URL')
'https://blog.ansheng.me'
# 返回的字符串我们可以设置成一下三种数据类型,分别是"int","float","bool"
# v = config.getint('node1', 'k1')
# v = config.getfloat('node1', 'k1')
# v = config.getboolean('node1', 'k1')

获取指定节点下所有的key

# 返回节点下面所有的Key列表
>>> config.options('node1')
['name', 'blog_url', 'hostname']

获取指定节点下所有的键值对

# 返回一个列表,列表中每个元组就是一个键值对
>>> config.items('node1')
[('name', 'ansheng'), ('blog_url', 'https://blog.ansheng.me'), ('hostname', 'localhost.localhost')]

如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!交流经验!自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

获取所有节点

# 获取当前文件中有多少个节点
>>> config.sections()
['node1']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值