详解Python configparser模块

configparser

今天学到一个新的Python模块:configparser,这个模块在Python中用来读取配置文件,一个文件中包含着多个节点,每个节点以下有各种属性和对应的属性值,可以理解成key:value键值对这种形式。Python的这一模块的使用能够非常有效的解决程序中出现的多个赋值变量的问题,把变量统一的放在一个文件中,这样程序也更容易修改~

在Python2.X的版本中,这个模块叫做Configparser,在Python3中修改成了configparser。这里我使用的是Python3的版本。

使用

也就是导入这个模块,调用这个模块的功能,这样来实现相关的方法。

import configparser   #导入模块
config=configparser.ConfigParser() #建立模块对象,也就是赋予功能

配置文件

在使用这些方法之前,首先根据需要我们先自己创建一个配置文件demo.txt,根据这个配置文件中的内容我们来实现相关方法。

demo.txt 的内容如下,我们这里把每一个[ ]称为一个 节点 ,在节点下有属于这个节点的 属性属性值

#demo.txt
[my name]
name=feizaishe
second_name=xiaogu
age=20
height=180[address]
id=100036
loc=wuhu_or_hefei
​
[favor]
first=baskeball
second=baseball
third=pingpang

除了这种自己创建一个配置文件的方法,另外可以通过代码来创建自己的配置文件,这里就是直接使用configparser这一模块中的功能,通过下面的代码,我们就能在当前文件夹中创建一个自己的配置文件。

import configparser
config=configparser.ConfigParser()
  • 创建一个叫做DEFAULT的节点,包括demo1、demo2、demo3三个属性
    属性分别对应的值为45、yes、9
config["DEFAULT"]={'demo1': '45',
                   'demo2': 'yes',
                   'demo3': '9'}
print(config.items())  打印所有数据
​
创建demo.txt文件,将上面的节点和节点包含的数据写进去
with open('demo.txt', 'w') as configfile:
    config.write(configfile)

关于配置文件,txt格式只是一种,此外像conf、ini等格式的文件也是同样支持的。

常用方法

  • 这里提供了configparser库常用到的方法,包括文件的读取、修改、删除等。
1、读取配置文件
config.read("demo.txt")
​
​
2、使用config.sections()方法获取所有节点的名称
all_sections=config.sections()
print("Sections:",all_sections)
​
​
3、使用config.items()方法返回指定模块的详细信息
item=config.items('my name')
print(item)
​
​
4、使用config.options()获得节点所有的key值
key_value=config.options('my name')
print(key_value)
​
​
5、使用config.get()方法来获取指定节点的指定的值
name=config.get('my name','name')
print(name)
​
​
6、使用config.getint()方法返回指定节点的指定的值(int类型)
同理:>>> config.getboolean()返回布尔值结果
      >>> config.getfloat()返回浮点型结果
age=config.getint('my name','age')
print(age,'The Type of age:',type(age))
​
​
7、检查sections或者options是否存在
   >>> config.has_sections() 
   >>> config.has_options() 
has_section=config.has_section('my name')#检查有没有节点[my name]
print(has_section) #如果有返回True值,没有返回False
has_option=config.has_option('my name','name')#检查在节点 [my name] 中有没有 name 这个属性
print(has_option) #如果有返回True值,没有返回False
​
​
8、向文件中添加节点
  >>> config.add_section(value) //value:新节点的名称
​
​
9、添加节点数据
  >>> config.set(value1,value2,value3) 
  value1:节点名称  value2:节点属性  value3:属性值
config.add_section('The new Section') #添加新的节点
config.set('The new Section','newname','XIAOGU') #通过config.set()方法向新的节点中添加新的 属性 与 属性值
newname=config.items('The new Section','newname')
print(newname)
在上述的 config.set() 函数中,
  1=>可以有添加新的值的功能;
  2=>另外也可以修改已有的节点属性
Change_name=config.set('my name','name','FEIZAISHE')
print(config.get('my name','name'))
​
​
10、删除节点
config.remove_section('my name')
print(config.sections())
​
​
11、删除节点中的属性
config.remove_option('address','id')
print(config.items())

微信公众号关注【肥仔社】了解更多有意思的东西。

在这里插入图片描述

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值