Python3中的configparser模块主要用于处理类似于windows ini 文件结构的配置文件

  1.configparser模块提供实现基本配置语言的ConfigParser

  2.配置文件由一个一个的"节点"组成,节点下的内容是一个一个的"键值对"

  3.DEFAULT为默认节点,其下的所有"键值对"为所有节点共享

  4."节点"名称是区分大小写的,但"节点"中的"键"并不区分大小写,并且"键"会以小写存储

  5.解析出来的"值"的数据类型统统为字符串,但解析器提供了一些getint()和getfloat()等方法,供你使用

  6.Python2中这个模块的名字是ConfigParser,到Python3中改为configparser

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes [bitbucket.org]
User = hg [topsecret.server.com]
Port = 50022
ForwardX11 = no

ConfigParser对象的常用方法

  cfg = configparser.ConfigParser()    # 获取一个解析器对象

  cfg.write("filename", "w", encoding= "utf-8")

    将解析器对象写入到配置文件中

  cfg.read("filename", encodin="utf-8")

    将配置文件中的内容读取到解析器对象中

  cfg.defaults()

    返回默认节点下的"键值对"列表

  cfg.sections()

    返回所有的节点名称列表,不包含默认节点

  cfg.options("section")

    返回指定节点下可用的"键"

  cfg.has_section("section")

    返回节点是否存在,默认节点除外

  cfg.has_options("section", "key")

    返回节点存在并且包含指定的"key"

  cfg.get("section", "key")

    返回指定节点下的键对应的值,等价于 cfg["section"]["key"]

  cfg.getint("section", "key")

    返回指定节点下的键对应的值,并强制转换成整数,等价于 int(cfg["section"]["key"])

  cfg.getfloat("section", "key")

    返回指定节点下的键对应的值,并强制转换成浮点数,等价于 float(cfg["section"]["key"])

  cfg.getboolean("section", "key")

    返回指定节点下的键对应的值,并强制转换成布尔值 '1' 'yes' 'true' 'on' 返回True '0' 'no' 'false' 'off' 返回False,其他值则报错

  cfg.add_section("section")

    给解析器对象cfg添加一个节点,如果节点已经存在则引发异常DuplicateSectionError

  cfg.remove_section("section")

    返回节点是否存在,并将该节点删除

  cfg.remove_option("section", "option")

    返回节点下的键是否存在,并将其删除,如果节点不存在,引发异常NoSectionError

  cfg.set("section", "key", "new_value")

    修改指定节点下的键对应的值,如果节点不存在,引发异常NoSectionError

import configparser

# 创建一个空白解析器对象
config = configparser.ConfigParser() # 设置各种节点
config["DEFAULT"] = {"英格兰": "ENGLAND", "中国": "China"}
config["China"] = {"鲁": "山东", "京": "北京"}
config["University"] = {"BJ": "清华", "SD": "山大"} # 将解析器对象写入配置文件
with open("config.ini", "w", encoding="utf-8") as cfg_file:
config.write(cfg_file)

1.初始化配置文件


import configparser

# 创建一个空白解析器对象
config = configparser.ConfigParser()
config.read("config.ini", encoding="utf-8") # 增加节点
config.add_section("new_section")
config["new_section"]["k1"] = "v1"
config["new_section"]["k2"] = "v2" # 删除节点
config.remove_section("University")
# 删除节点下对应的值
config.remove_option("DEFAULT", "英格兰") # 修改节点下对应的值
config.set("DEFAULT", "中国", "最强的") # 查
print(config.get("DEFAULT", "中国")) # 将改动后的解析器对象重新写入配置文件
with open("config.ini", "w", encoding="utf-8") as cfg_file:
config.write(cfg_file)

2.配置文件的增、删、改、查

Python3-configparser模块-配置文件解析器的更多相关文章

  1. python ConfigParser模块 配置文件解析

    ConfigParser模块主要是用来解析配置文件的模块,像mysql,或者win下面的ini文件等等 下面我们来解析mysql的配置文件my.cnf my.cnf配置文件内容 [mysqld] da ...

  2. python接口自动化测试 - configparser配置文件解析器详细使用

    configparser简介 ConfigParser模块已在Python 3中重命名为configparser 该模块定义了ConfigParser类. ConfigParser类实现一种基本的配置 ...

  3. parseConf(配置文件解析器)

    /****************************************************************************** * * parseConf(配置文件解析 ...

  4. golang开发:类库篇(四)配置文件解析器goconfig的使用

    为什么要使用goconfig解析配置文件 目前各语言框架对配置文件书写基本都差不多,基本都是首先配置一些基础变量,基本变量里面有环境的配置,然后通过环境变量去获取该环境下的变量.例如,生产环境跟测试环 ...

  5. Python模块:配置文件解析器configparser

    版权声明:本文为博主皮皮http://blog.csdn.net/pipisorry原创文章,未经博主同意不得转载. https://blog.csdn.net/pipisorry/article/d ...

  6. Python3 PyPAML 模块(配置文件的操作)

    YAML 是专门用来写配置文件的语言,非常简洁和强大 它的基本语法规则如下: 1.大小写敏感 2.使用缩进表示层级关系 3.缩进时不允许使用Tab键,只允许使用空格. 4.缩进的空格数目不重要,只要相 ...

  7. python configparser配置文件解析器

    一.Configparser 此模块提供实现基本配置语言的ConfigParser类,该语言提供类似于Microsoft Windows INI文件中的结构.我们经常会在一些软件安装目录下看到.ini ...

  8. Python标准组件ConfigParser配置文件解析器,保存配置时支持大写字母的方法

    虽然自己已经改用xml作为配置文件首选格式了,但是有时候还是需要解析ini.cfg文件(为了兼容早期版本或者其他作者的软件). 基本上Python自带的ConfigParser足够应对了,但是美中不足 ...

  9. python模块----configpaser (key:value型 配置文件解析器)

    configparser是用来读取配置文件的包,配置文件的格式类似:[section]+内容(键=值) 标准库网址:https://docs.python.org/3/library/configpa ...

随机推荐

  1. Rocket - devices - TLZero

    https://mp.weixin.qq.com/s/JHjUZncEcoZpRxIS1ECV5g 简单介绍TLZero的实现. 1. /dev/null /dev/null最主要的特点是写入的数据被 ...

  2. Java实现 LeetCode 771 宝石与石头(这是真暴力)

    771. 宝石与石头 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 ...

  3. Java 第十一届 蓝桥杯 省模拟赛 凯撒密码加密

    凯撒密码加密 题目 问题描述 给定一个单词,请使用凯撒密码将这个单词加密. 凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文.即a变为d,b变为e,-,w变为z,x ...

  4. Java实现 LeetCode 659 分割数组为连续子序列 (哈希)

    659. 分割数组为连续子序列 输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数.返回你是否能做出这样的分割? 示例 1: 输入: [ ...

  5. Java实现 计蒜客 拯救行动

    拯救行动 公主被恶人抓走,被关押在牢房的某个地方.牢房用 N \times M (N, M \le 200)N×M(N,M≤200) 的矩阵来表示.矩阵中的每项可以代表道路(@).墙壁(#).和守卫( ...

  6. Java实现 LeetCode 166 分数到小数

    166. 分数到小数 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数. 如果小数部分为循环小数,则将循环的部分括在括号内. 示例 1: 输入 ...

  7. Java实现 洛谷 P1487 陶陶摘苹果(升级版)

    题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力 ...

  8. PAT 有几个PAT

    字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T). 现 ...

  9. linux下解决vim打开文件乱码现象

    用VIM打开一个文件进行编辑时最下面的任务栏出现中文乱码,严重影响编写代码. 因为VIM默认的语言支持不行, 修改~/.vimrc 文件或/etc/vimrc 文件,添加一下代码: set encod ...

  10. eclipse Luna 安装SVN插件

    Help--->Install New Soft ----> 输入 “Luna - http://download.eclipse.org/releases/luna” 这里显示都是 lu ...