ConfigParse解析配置文件

一、介绍

ConfigParser 是Python标准库中的一个模块,用以解析 *.ini 格式的配置文件。

ConfigParser 模块中包含了一个 ConfigParser 类,一个 ConfigParser 对象可以同时解析多个 *.ini 格式的配置文件。

二、安装

在python2中 ConfigParser 的则不需要安装直接引入即可,

import ConfigParser

在python3中需要 执行 pip install congfigparser 进行安装,并且在 python3中 ConfigParser的包名的拼写改成了全部小写。

python3 引入

import configparser

三、ConfigParser 提供的方法

ConfigParser 中有很多的方法,其中与读取配置文件,判断配置项相关的方法有:

  • sections: 返回一个包含所有章节的列表;
  • has_sesction: 判断指定章节是否存在;
  • items: 以元组的形式返回指定章节所有的选项;
  • options: 返回一个包含指定章节下的所有选项的列表;
  • has_option: 判断指定章节下的指定选项是否存在;
  • get、getbollean、getint、getfloat 获取指定章节下指定选项的值。

四、基本使用

假设要解析的文件名为 test.ini

内容为:

[client]
port=10060
user=root

导包

#python2

import ConfigParser

#python3  在引入前先安装 pip install ConfigParser

import configparser

创建ConfigParser对象

#python2
>>> cf = ConfigParser.ConfigParser(allow_no_value=True)

#python3
>>> cf = configparser.ConfigParser(allow_no_value=True)

在上面的代码中 allow_no_value 参数表示在配置文件中是否允许选项没有值,默认情况下所有选项都应该有值。但是,在一些应用中 选项存表示取值为 真 不存在表示为 假,因此在解析配置文件时需要指定allow_no_value的值 (默认为False,表示不允许选项为空

读取 test.ini 文件

>>> cf.read('test.ini')
['test.ini'

返回一个包含所有章节的列表

>>> cf.sections()
['client', 'server']

判断指定章节是否存在

>>> cf.has_section('client')
True

以元组的形式返回指定章节的所有选项

>>> cf.items('client')
[('port', '10060'), ('user', 'root')]

返回一个包含指定章节下的所有选项的列表

>>> cf.options('client')
['port', 'user']

判断指定章节下的指定属性是否存在

>>> cf.has_option('client','user')
True

获取指定章节下指定选项的值

>>> cf.get('client','user')
'root'

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,961评论 0 5
  • WinRAR - 最新版本的更新 版本 5.50 1. WinRAR 和命令行 RAR 默认使用 RAR ...
    王舒璇阅读 7,053评论 0 2
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,379评论 0 5
  • 常用模块 认识模块 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文...
    go以恒阅读 6,213评论 0 6
  • @(python) [TOC] 前言 将代码中的配置项抽取到配置文件中,修改配置时不需要涉及到代码修改,避免面对一...
    orientlu阅读 39,195评论 1 6

友情链接更多精彩内容