Hi , 欢迎!
开店!    曝光台    保障    地图    帮助中心
赞助广告
32
赞助广告
赞助广告
赞助广告
赞助广告

Python3 中 configparser 模块详解

  • 时间:2020-10-28 23:43 编辑:-出发- 来源: 阅读:147
  • 扫一扫,手机访问
摘要:

1、configparser 简介

configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x 中名为 ConfigParser,3.x 已改名为configParser,并加入了一些新功能。

配置文件的格式如下:

[logoninfo]
addr=zhangsan
passwd=lisi
popserver=emain

[logging]
level=2
path= "/root"
server="login"

[mysq]
host=127.0.0.1
port=3306
user=root
password=123456
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

“[ ]” 包含的为 section,section 下面为类似于 key-value 的配置内容;
configparser 默认支持 ‘=’ ‘:’ 两种分隔,下面这种也是合法了

[mysq]
host:127.0.0.1
port:3306
user:root
password:123456
  • 1
  • 2
  • 3
  • 4
  • 5

2、读取文件内容

  • 初始化实例:使用 configparser 首先需要初始化实例,并读取配置文件
  • 获取所有 sections
  • 获取指定 section 的 keys
  • 获取指定 key 的 value
  • 获取指定 section 的 keys & values
  • 检查 section 是否存在
  • 检查指定 section 中 key 是否存在
  • 检查指定 section 指定 key 的 value

下面直接在代码中一一实现上述功能

#coding=utf-8
import configparser

# 初始化实例
conf = configparser.ConfigParser()
print(type(conf))           #conf是类
conf.read('config.ini')

# 获取所有 sections
sections = conf.sections()  #获取配置文件中所有sections,sections是列表
print(sections)

# 获取指定 section 的 keys
option = conf.options(conf.sections()[0]) #获取某个section下的所有选项或value,等价于 option = conf.options('logoninfo')
print(option)

# 获取指定 key 的 value
value = conf.get('logoninfo', 'addr')   #根据section和value获取key值,等价于value = conf.get(conf.sections()[0], conf.options(conf.sections()[0])[0])
print(value)

# 获取指定 section 的 keys & values
item = conf.items('logoninfo')
print(item)

# 检查 section 是否存在
print("xxxxxxxxxxxxxx")
print('logging' in conf) # 或者 print('logging' in conf.sections())

# 检查指定 section 中 key 是否存在
print("addr" in conf["logoninfo"])

# 检查指定 section 指定 key 的 value
print("zhangsan" in conf["logoninfo"]["addr"]) #等于 "zhangsan" == conf["logoninfo"]["addr"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

3、生成配置文件

import configparser                     # 引入模块

config = configparser.ConfigParser()    #实例化一个对象

config["logoninfo"] = {                 # 类似于操作字典的形式
    'addr': "zhangsan",
    'passwd': "lisi",
    'popserver': "emain"
}

config['logging'] = {
    "level": '2',
    "path": "/root",
    "server": "login",
    'User': 'Atlan'
}

config['mysq'] = {
    'host': '127.0.0.1',
    'port': '3306',
    'user': 'root',
    'password': '123456'
}

with open('config.ini', 'w') as configfile:
    config.write(configfile)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

4、修改配置文件

import configparser

config = configparser.ConfigParser()			# 实例化一个对象

config.read('config.ini')                       # 读文件

config.add_section('yuan')                      # 添加 section

config.remove_section('mysq.org')               # 删除 section
config.remove_option('logoninfo', "popserver")  # 删除一个配置项

config.set('logging', 'level', '3')				# 修改执行 section 指定 key 的 value
config.set('yuan', 'k2', '22222')				# 添加一个配置项
with open('config.ini', 'w') as f:
    config.write(f)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 全部评论(0)
最新发布的资讯信息
【技术前线|企业IT】婚介相亲app软件开发找哪家靠谱?(2021-07-03 14:50)
【技术前线|】隐隐交友软件开发的意义?(2021-07-02 15:19)
【技术前线|】喜上眉梢交友软件的开发(2021-07-01 13:57)
【技术前线|】面具公园交友软件开发的功能和发展前景(2021-06-30 15:03)
【技术前线|】类似soul的交友软件 app源码系统定制开发(2021-06-29 14:56)
【技术前线|】相亲交友 系统开发找哪家好?交友软件的发展潜力如何?(2021-06-28 15:04)
【技术前线|】像喜上眉梢这类交友软件开发的条件及前景如何?(2021-06-24 14:31)
【技术前线|】开发一款交友类APP(比如小圈)的流程及价格?(2021-06-23 15:27)
【技术前线|】定制开发一款交友系统软件需要多少钱?(2021-06-21 14:21)
【技术前线|】飞店开发的喜上眉梢 交友 相亲源码(2021-06-17 15:15)
联系我们

平台客服:28292383

平台电话:400办理中.....

平台邮箱:28292383#qq.com(#更换@)

工作时间:早9:00 晚:24:00(节假日无休)

我的
足迹
收藏
社区投稿
推广赚佣
平台客服
APP

扫一扫进手机版
TOP