configparser用于处理特定格式的文件,其本质上是利用open来操作文件。

特定格式的ini配置文件模块,用于处理ini配置文件,注意:这个ini配置文件,只是ini文件名称的文本文件,不是后缀为.ini的文件,也就是ini文件,不是ini.ini文件

ini配置文件格式

每个标签称之为节点

# 注释1
; 注释2 [section1] # 节点
k1 = v1 # 第一种键值对
k2:v2 # 第二种键值对 [section2] # 第一种键值对
k1 = v1 # 第二种键值对

ConfigParser()模块函数

功能:创建ConfigParser对象,对象用来操作文件【无参】

使用方法:模块名称.ConfigParser()

格式如:config = configparser.ConfigParser()

read()模块函数

功能:打开文件【有参】

使用方法:对象变量.read("文件路径文件名称",encoding='字符编码')

格式如:config.read("ini", encoding='utf-8')

sections()模块函数

功能:获取对象里的所有节点名称,以列表形式返回,列表里的元素就是节点名称【有参】

使用方法:对象变量.sections()

格式如:ret = config.sections()

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
ret = config.sections() #获取对象里的节点名称,以列表形式返回,列表里的元素就是节点名称
print(ret)
# 输出
# ['section1', 'section2']

items()模块函数

功能:获取指定节点下所有的键值对,返回的一个列表,列表里的元素是元祖,每个元祖的元素是键值对【有参】

使用方法:对象变量.items("要获取的节点名称")

格式如:ret = config.items("section2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
ret = config.items("section2") #获取指定节点下所有的键值对,返回的一个列表,列表里的元素是元祖,每个元祖的元素是键值对
print(ret)
# 输出
# [('k1', 'v1'), ('k2', 'v2')]

options()模块函数

功能:获取指定节点下所有的建,返回列表,列表里的元素是指定节点下所有的建【有参】

使用方法:对象变量.options("要获取的节点名称")

格式如:ret = config.options("section2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
ret = config.options("section2") #获取指定节点下所有的建,返回列表,列表里的元素是指定节点下所有的建
print(ret)
# 输出
# ['k1', 'k2']

get()模块函数

功能:获取指定节点下指定key的值,返回对应字符串【有参】

使用方法:对象变量.get("要获取的节点名称","要获取的key键名称")

格式如:ret = config.get("section2","k2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
ret = config.get("section2","k2") #获取指定节点下指定key的值,返回对应字符串
print(ret)
# 输出
# v2

has_section()模块函数

功能:检查指定的节点是否存在,存在返回True,不存在返回False【有参】

使用方法:对象变量.has_section("要检查的节点名称")

格式如:ret = config.has_section("section2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
ret = config.has_section("section2") #检查指定的节点是否存在,存在返回True,不存在返回False
print(ret)
# 输出
# True

add_section()模块函数

功能:在文件里追加节点【有参】

使用方法:对象变量.add_section("要追加的节点名称")

格式如:config.add_section("section5")

write()模块函数

功能:文件对象改变后将对象重新写入文件【有参】参数是打开要写入的文件

注意:对文件的,增,删,改,操作后都要用write()写入一下文件保存

使用方法:对象变量.write(open("文件路径或名称","文件打开方式",encoding='字符编码'))

格式如:config.write(open("ini","w",encoding='utf-8'))

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
config.add_section("section5") #在文件里追加节点
config.write(open("ini","w",encoding='utf-8')) #文件对象改变后将对象重新写入文件

remove_section()模块函数

功能:删除指定的节点【有参】

使用方法:对象变量.remove_section("要删除的节点名称")

格式如:config.remove_section("section3")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
config.remove_section("section3") #删除指定的节点
config.write(open("ini","w",encoding='utf-8')) #文件对象改变后将对象重新写入文件

has_option()模块函数 

功能:检查指定节点下面的指定键是否存在,存在返回True,不存在返回False【有参】

使用方法:对象变量.has_option("要检查节点名称","键名称")

格式如:sf = config.has_option("section2","k2")

# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
sf = config.has_option("section2","k2") #检查指定节点下面的指定键是否存在,存在返回True,不存在返回False
print(sf)
# 输出
# True

remove_option()模块函数

功能:删除指定节点下的指定键值对

使用方法:对象变量.remove_option("指定节点名称","节点下要删除的键名称")

格式如:config.remove_option("section2","k1")

# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
config.remove_option("section2","k1") #删除指定节点下的键值对
config.write(open("ini","w",encoding='utf-8')) #文件对象改变后将对象重新写入文件

set()模块函数

功能:设置指定节点下的指定键值对

使用方法:对象变量.set("指定节点","键名称","值")

格式如:config.set("section2","k1","v1")

说明

根据键来判断如果键不存则创建定义的键值对

如果存在则更改成定义的值

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
config = configparser.ConfigParser() #创建ConfigParser对象
config.read("ini", encoding='utf-8') #以utf-8的编码打开ini文件
config.set("section2","k1","v1") #设置指定节点下的指定键值对
config.write(open("ini","w",encoding='utf-8')) #文件对象改变后将对象重新写入文件

创建一个配置文件

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #导入configparser模块
wjian = open("des","a",encoding='utf-8') #以a模式创建打开des文件
wjian.close() #关闭打开的文件
"""上面的open只用于创建des文件""" config = configparser.ConfigParser() #创建ConfigParser对象
config.read("des", encoding='utf-8') #以utf-8的编码打开des文件
config.add_section("section1") #追加指定节点
config.set("section1","k1","v1") #指定节点下设置键值对
config.set("section1","k2","v2") #指定节点下设置键值对
config.set("section1","k3","v3") #指定节点下设置键值对 config.add_section("section2") #追加指定节点
config.set("section2","a1","s1") #指定节点下设置键值对
config.set("section2","a2","s2") #指定节点下设置键值对
config.set("section2","a3","s3") #指定节点下设置键值对 config.add_section("section3") #追加指定节点
config.set("section3","f1","k1") #指定节点下设置键值对
config.set("section3","f2","k2") #指定节点下设置键值对
config.set("section3","f3","k3") #指定节点下设置键值对 config.write(open("des","w",encoding='utf-8')) #将改变后的对象写入des文件

重点总结:注意:对文件的,增,删,改,操作后都要用write()写入一下文件保存

第四十二节,configparser特定格式的ini配置文件模块的更多相关文章

  1. INI配置文件的格式

    为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要 ...

  2. 第二十四篇configparser(**)

    configparser模块 config:配置,parser:解析.字面意思理解configparser模块就是配置文件的解析模块. 来看一个好多软件的常见文档格式如下: [DEFAULT] # 标 ...

  3. 创建Unicode格式的INI文件

    前段时间由于开发一个软件,需要调用别人的接口,虽然我的软件是Unicode编码,对方的模块也是Unicode编码,但是对方提供的接口却是Ansi接口,在非中文系统下,由于涉及到中文路径,导致Ansi和 ...

  4. python 提供INI配置文件的操作 ConfigParser

    原文地址:http://www.cnblogs.com/pumaboyd/archive/2008/08/11/1265416.html 红色的为标注信息 +++++++++++++++++引用+++ ...

  5. Python3 configparser值为多行时配置文件书写格式

    一.说明 一般而言ini配置文件键值对都是一行就完事了,但有时候我们想配置的值就是由多行组成,这里说明此时配置格式该如何书写. 二.书写格式 如果值为多行,那么在第一行外的后续所有行前加入至少一个空格 ...

  6. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课

    centos vmware centos6.6 64位 kvm虚拟化安装配置     第四十二节课 上半节课 下半节课 f

  7. 利用XSD配合XSLT產出特定格式Word檔案 -摘自网络

    利用類別產生XSD檔 產出XSD檔的目的在於提供Word樣板設計之資料框架 在此使用微軟提供之XML Schema Definition Tool (Xsd.exe)工具產生XSD檔 1. 定義類別 ...

  8. python读取uti-8格式ini配置文件出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xba in position 367: illegal multibyte sequence错误解决方法

    出现这种错误只需要在read下添加encoding='utf-8' 如: from configparser import ConfigParser cf = ConfigParser() cf.re ...

  9. linux中date命令显示昨天的日期信息?以特定格式显示时间?

    需求描述: linux环境中,在使用date命令的时候,可以通过-d指定日期的字符串来显示日期 操作过程: 1.通过date显示昨天的日期 [root@redhat6 ~]# date -d 'yes ...

随机推荐

  1. [转] Android root 原理

    欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/5572640.html 0x00 关于root linux和类Unix系统的最初设计都是针对多用 ...

  2. HDU 3362 Fix(状压dp)

    Fix Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  3. C# WebBrowser禁止F5刷新

    在用写一个桌面软件的过程中,用到webbrowser实现界面.这时有一个禁止webbrowser通过f5按键进行刷新的要求.本着边做边学的原则,本菜查了一下百度,原来这么简单,代码如下: this.w ...

  4. 转:详解JMeter正则表达式(1)

    1.概览 JMeter中包含范本匹配软件Apache Jakarta ORO .在Jakarta网站上有一些关于它的文档,例如a summary of the pattern matching cha ...

  5. 通过SvcUtil.exe 生成 Wcf 客户端代理

    WCF服务调用通过两种常用的方式:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式,一种是通过ChannelFactory直接创建服务代理对象进行服务调用. SvcUtil.exe ...

  6. CodeForces 702D Road to Post Office

    答案的来源不外乎于3种情况: 纯粹走路,用时记为${t_1}$:纯粹乘车,用时记为${t_2}$:乘车一定距离,然后走路,用时记为${t_3}$. 但是${t_1}$显然不可能成为最优解. 前两个时间 ...

  7. ECMAScript6标准新增加的内容

    首选呐,你得了解一下javascript和ECMAScript的关系: 编程语言JavaScript是ECMAScript的实现和扩展,由ECMA(一个类似W3C的标准组织)参与进行标准化.ECMAS ...

  8. 模拟点击a链接

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ...

  9. js--3目运算符

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  10. Apple pay的使用

    Apple pay的使用场景:1.app内:唯品会.   2.线下场景:万达 Apple pay的硬件要求:iphone6 以上  苹果婊 Apple pay的软件要求:国内(应该是)iOS9.2以上 ...