简介

ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该类的作用是使用配置文件生效,配置文件的格式和windows的INI文件的格式相同

该模块的作用 就是使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()这三个方法,创建一个对象使用对象的方法对指定的配置文件做增删改查 操作。

配置文件有不同的片段组成和Linux中repo文件中的格式类似:

格式:

[section]

name=value

或者

name: value

"#" 和";" 表示注释

[DEFAULT] #设置默认的变量值,初始化

[My Section]

foodir: %(dir)s/whatever

dir=frob

long: this value continues

in the next line

方法

下面这三种方式使用时,切记注意

在调用这三个函数时,切记这三个函数会将调用optionxform(),在传递键值对数据时,会将键名全部转化为小写。

RawConfigParser()

ConfigParser.RawConfigParser([defaults[, dict_type[, allow_no_value]]])

defaults : 如果指定默认值,则使用默认值的键值对

dict_type:使用新的section的键值对

allow_no_value :默认是False,如果是True,表示可以接收空值(None)

return:对象

不支持可变参数,在section中不能存在%()s

ConfigParser()

ConfigParser.ConfigParser([defaults[, dict_type[, allow_no_value]]])

在default中必须出现%()s

SafeConfigParser()

ConfigParser.SafeConfigParser([defaults[, dict_type[, allow_no_value]]])

更加智能化,在section中是否存在%()s会自动判断

传递参数使用函数optionxform(),foo %(bar)s 和 foo %(BAR)s是相同的,optionxform()会将大写字母全部转换为小写。

解决自动小写的问题

>>> custom = configparser.RawConfigParser()

>>> custom.optionxform = lambda option: option

>>> custom.read_string(config)

或者

>>> cfgparser = ConfigParser()

>>> cfgparser.optionxform = str

注意:在读取配置文件时,在调用optionxform()之前,选项名称周围的空格将被去掉。

或者重写函数

class MyConfigParser(configparser.ConfigParser):

def optionxform(self, optionstr):

return optionstr

config = MyConfigParser()

ConfigParser常用参数

config = conf.ConfigParser(allow_no_value=True,inline_comment_prefixes=('#', ';'),empty_lines_in_values=False)

python configparser 空格_python的ConfigParser模块相关推荐

  1. python 去掉空格_Python去除多余空格

    原博文 2017-06-10 13:47 − 今天做爬虫时.发现结果中好多多余的空格.然后有强迫症的我当然不会放过 " xyz ".strip() # returns " ...

  2. python psycopg2使用_Python中用psycopg2模块操作PostgreSQL方法

    其实在Python中可以用来连接PostgreSQL的模块很多,这里比较推荐psycopg2.psycopg2安装起来非常的简单(pip install psycopg2),这里主要重点介绍下如何使用 ...

  3. c调用python第三方库_Python使用ctypes模块调用DLL函数之C语言数组与numpy数组传递...

    在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...

  4. python 主线程_Python threading多线程模块

    Python是支持使用多线程的,程序代码可以在一个进程空间中操作管理多个执行的线程,python模块下载时要记得,这个库叫做 threading. 一.threading模块简介 在Python多线程 ...

  5. python正则表达式空格_python中的正则表达式的使用

    一.正则表达式简介 正则表达式:又称正规表示式.正规表示法.正规表达式.规则表示式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或者是RE),是计算 ...

  6. python 正则 空格_python 正则详解

    正则表达式概述 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的 ...

  7. python requests 示例_python的requests模块实现登陆示例

    51cto用python的requests模块实现登陆示例代码如下: -- coding:utf-8 -- import requests import re client = requests.se ...

  8. python阿里巴巴排名_python使用urllib模块和pyquery实现阿里巴巴排名查询

    python pyquery不能有空格吗 看地方吧 pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,我个人写过的一些抓取网页数据的脚本就是用它来解析html获取数据的. ...

  9. python schedule多线程_Python定时任务sched模块用法示例

    本文实例讲述了Python定时任务sched模块用法.分享给大家供大家参考,具体如下: 通过sched模块可以实现通过自定义时间,自定义函数,自定义优先级来执行函数. 范例一 import time ...

最新文章

  1. 免费教材丨第51期:数学基础课程----概率论教程、机器学习中的数学基础
  2. 极客Web前端开发资源大荟萃#007
  3. python绘制雷达图代码实例-PYTHON绘制雷达图代码实例
  4. 【Qt】Qt中QJsonArray类
  5. Kernel中如何操作CPU及外设寄存器
  6. vscode 连接docker_在VS Code中使用带Docker容器的Java开发环境 – Bruno Borge
  7. java se开发_JAVA_SE基础——3.Java程序的开发流程
  8. 【转】Oracle 系统权限详细列表
  9. 接口的显式实现与隐式实现
  10. java位图_Java 位图法排序的使用方法
  11. matlab阶跃响应_状态空间模型及MATLAB指令计算
  12. android apk 病毒,apk文件是病毒吗
  13. linux展示文件最尾部内容 最新,LINUX tailf命令-显示文件的末尾若干行内容
  14. 数字转人民币大写,PHP实现
  15. 智能营销增益模型(Uplift Modeling)实践整理
  16. VS2010添加WP模板
  17. Java实现 LeetCode 37 解数独
  18. 转战物联网·基础篇01-物联网之我见
  19. 从SpriteKit看我的游戏人生
  20. [转]deepin系统添加开机运行命令、软件自启动方法

热门文章

  1. 美柚-产品原型图(高保真) 一个拥有腾讯产品梦的小精灵
  2. 51 Nod 阶乘后面0的数量
  3. 京东资深架构师代码评审歪诗
  4. 【数据仓库】——星型模型和雪花模型
  5. “A class named TcxRect already exists”错误
  6. 关于创建 LINQ to SQL 类时无法转换复数的问题(zhuan)
  7. xml+javascript实现简单图片轮换
  8. AndroidStudio安卓原生开发_UI控件介绍---Android原生开发工作笔记96
  9. jsp 如何自定义标签
  10. 进程线程与栈、堆的关系