Python读入配置文件-configparser介绍

  • A+
所属分类:Python库介绍
摘要这里介绍一个python读取配置文件的库, configparser. 简单介绍一下他的配置文件的结构和读取配置文件的方法.

简介

在写Python程序的时候, 我们会设置有时需要设置一些配置文件, 这个时候为了方便读取这些配置文件, 我们会使用configparser来进行读取。

这里的主要内容, 参考自知乎的链接, python标准库 configparser读取config或ini配置文件。关于 Python 的配置文件,还可以使用 yaml 来进行设置,关于 yaml 的具体内容,可以参考链接,Python 读取 yaml 配置文件

 

Configparser的介绍

需要注意的是,使用 configparser 读取的配置的数据类型都是 string 类型的。

配置文件结构的介绍

配置文件由两部分组成, 分别是section和option. section是用来分大块的, section下每一个选项是option. 下面是一个简单的配置文件的例子.

  1. # zh_cn.config(UTF-8)
  2. [lang] # => 这里是section
  3. name=中文简体 # => 这里是option
  4. [message]
  5. applyLangTip           = 重启程序来应用更改。
  6. runCommands            = 执行命令
  7. [menu]
  8. id               = 96
  9. service          = 服务
  10. help             = 帮助
  11. officialSite     = 官网
  12. officialHelp     = 帮助文档

 

读取配置文件的方法

使用的方法也是很简单, 首先我们导入库, 并进行实例化.

  1. # 引入包
  2. from configparser import ConfigParser
  3. # 实例化
  4. config = ConfigParser()

常见的读取的方式如下所示:

  • config.read(filename,encoding) 直接读取 ini 文件内容, filename 文件地址,encoding 文件编码格式
  • config.sections() 得到所有的section,并以列表的形式返回
  • config.options(section) 得到该section的所有option
  • config.items(section) 得到该section的所有键值对
  • config[section][option] 读取section中的option的值
  • config.get(section,option) 得到section中option的值,返回为string类型
  • config.getint(section,option) 得到section中option的值,返回为int类型
  • config.getboolean(section,option) 得到section中option的值,返回为bool类型
  • config.getfloat(section,option) 得到section中option的值,返回为float类型

 

配置文件大小写

在使用 configparser 的时候, 默认会将配置文件中所有的大写字母都转为小写的字母. 我们需要对config.optionxform进行设置, 来保证大小写都可以正确被识别. 我们需要设置config.optionxform=str即可.

下面是一个简单的例子:

  1. config = ConfigParser.ConfigParser()
  2. config.optionxform = str

 

修改配置文件

增加键值对

可以像字典中增加 key-value 的方式一样,来进行键值对的增加:

Python读入配置文件-configparser介绍

减少键值对

我们可以直接使用 del 的方式来进行键值对的删除,下面看一个例子:

Python读入配置文件-configparser介绍

 

配置文件写入

当我对配置文件进行修改之后,我们希望将修改后的配置文件保存下来,这个时候可以使用 write 来完成新的配置文件的写入,下面是一个简单的配置文件写入的例子。

  1. import configparser
  2. config = configparser.ConfigParser()
  3. config['bitbucket.org']['User'] = 'hg' # 新增配置文件项
  4. with open('example.ini', 'w') as configfile: # 保存配置文件
  5.      config.write(configfile)

 

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: