第四十二节,configparser特定格式的ini配置文件模块
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配置文件模块的更多相关文章
- INI配置文件的格式
为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要 ...
- 第二十四篇configparser(**)
configparser模块 config:配置,parser:解析.字面意思理解configparser模块就是配置文件的解析模块. 来看一个好多软件的常见文档格式如下: [DEFAULT] # 标 ...
- 创建Unicode格式的INI文件
前段时间由于开发一个软件,需要调用别人的接口,虽然我的软件是Unicode编码,对方的模块也是Unicode编码,但是对方提供的接口却是Ansi接口,在非中文系统下,由于涉及到中文路径,导致Ansi和 ...
- python 提供INI配置文件的操作 ConfigParser
原文地址:http://www.cnblogs.com/pumaboyd/archive/2008/08/11/1265416.html 红色的为标注信息 +++++++++++++++++引用+++ ...
- Python3 configparser值为多行时配置文件书写格式
一.说明 一般而言ini配置文件键值对都是一行就完事了,但有时候我们想配置的值就是由多行组成,这里说明此时配置格式该如何书写. 二.书写格式 如果值为多行,那么在第一行外的后续所有行前加入至少一个空格 ...
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课 上半节课 下半节课 f
- 利用XSD配合XSLT產出特定格式Word檔案 -摘自网络
利用類別產生XSD檔 產出XSD檔的目的在於提供Word樣板設計之資料框架 在此使用微軟提供之XML Schema Definition Tool (Xsd.exe)工具產生XSD檔 1. 定義類別 ...
- 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 ...
- linux中date命令显示昨天的日期信息?以特定格式显示时间?
需求描述: linux环境中,在使用date命令的时候,可以通过-d指定日期的字符串来显示日期 操作过程: 1.通过date显示昨天的日期 [root@redhat6 ~]# date -d 'yes ...
随机推荐
- CVE-2014-1767 利用分析(2015.2)
CVE-2014-1767利用分析 参考这篇文章利用思路,重现利用,主要说明自己在实现的时候遇到的坑. 利用思路 1. 第一次 IoControl,释放 MDL,我们通过 VirtualAddress ...
- css的三种引入方式、常用的元素选择器以及css三大特性
第一.html文件中如何使用css html文件中使用css有3种方式:链接式.嵌入式.行内式,推荐使用程度依次递减:1.链接式:在html文件通过<link />标签引入,rel属性值必 ...
- easyUI的treegrid列表添加查询
一些数据使用treegrid显示,添加筛选条件, 首先创建treegrid列表 var tree = $("#TreeGrid").treegrid({ url:"cha ...
- javaWEB总结(8):自定义GenericServlet
前言: 项目的实际应用中,我们往往为了方便去继承GenericServlet类,而不是去实现Servlet接口,是什么原因呢?下面进行简单的实践操作. 一. 准备工作 1.首先看GenericServ ...
- Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面
感觉 Android 到处都是坑,每个地方都要把人折腾半天. 今天来简单说说 Android之ActionBar.Tabs.Fragment.ViewPager 实现标签页切换并缓存页面 关于他们的介 ...
- linux下如何使用vnstat查看服务器带宽流量统计
因为很多vps或者服务器都是限流量的,但是又很多服务商并没有提供详细的流量表,比如每天的流量表,所以肯定有人很想知道自己服务器到底跑了多少流量. vnstat就是一个很好用的服务器流量统计命令.我截几 ...
- 浅谈MacOS-20155205郝博雅
预备作业3:安装虚拟机 我的电脑是MacBook Air,因此按照娄老师说的,不需要安装Linix系统便能完成之后的学习.所以我就浅谈一下用MacOS系统的感受. 优点:人性化&便捷 与同系列 ...
- 第五十九节,模拟浏览器请求Python结合html基本格式
模拟浏览器请求Python结合html基本格式 用Python模拟一个客户端,结合打开一个HTML页面 创建客户端 #!/usr/bin/env python # -*- coding:utf8 -* ...
- transform translate transition 的区别
transform是变形,下面有translate transform: rotate旋转/scale缩放/skew扭曲/translate移动/matrix矩阵变形transform连写:rotat ...
- [妙味DOM]第六课:鼠标滚轮和COOKIE
知识点总结: 鼠标滚轮事件 存在兼容性问题: IE/chorme : onmousewheel FF : DOMMouseScroll,必需用在addEventListener下,例如: if (ob ...