11Python标准库系列之configparser模块

Python标准库系列之configparser模块

This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what’s found in Microsoft Windows INI files. You can use this to write Python programs which can be customized by end users easily.



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

配置文件格式如下:

# 第一种注释方式
; 第二种注释方式

[node1]  # 节点
k1 = v1  # key = value
k2 : v2  # key : value

实例

创建一个file.conf文件,内容为空,然后进入pythonIDE:

[[email protected] ~]# touch file.conf 
[[email protected] ~]# python
Python 2.6.6 (r266:84292, Jul 23 2016, 15:22:56) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

为文件添加节点

>>> import configparser
>>> config = configparser.ConfigParser()
>>> config.read(‘file.conf‘, encoding=‘utf-8‘)
[‘file.conf‘]
# 添加节点"node1","node2",然后写入文件
>>> config.add_section("node1")
>>> config.add_section("node2")
>>> config.write(open(‘file.conf‘, ‘w‘))

检查节点是否存在

# 如果文件存在则返回"True",否则就返回"False"
>>> print(config.has_section(‘node1‘))
True
>>> print(config.has_section(‘node2‘))
True
>>> print(config.has_section(‘node3‘))
False

删除节点

# 如果删除的节点存在则返回"True",否则返回"False"
>>> config.remove_section("node2")
True
>>> config.write(open(‘file.conf‘, ‘w‘))
>>> print(config.has_section(‘node2‘))
False

设置节点内的键值对

# 添加完键值对之后别忘记了写入到文件中
>>> config.set(‘node1‘, ‘Name‘, "ansheng")
>>> config.set(‘node1‘, ‘Blog_URL‘, "https://blog.ansheng.me")
>>> config.set(‘node1‘, ‘Hostname‘, "localhost.localhost")
>>> config.set(‘node1‘, ‘IP‘, "127.0.0.1")
>>> config.write(open(‘file.conf‘, ‘w‘))

检查节点内的key是否存在

# 如果节点的Key存在就返回"True",否则返回"False"
>>> print(config.has_option(‘node1‘, ‘Name‘))
True
>>> print(config.has_option(‘node1‘, ‘IP‘))
True
>>> print(config.has_option(‘node1‘, ‘VV‘))
False

删除节点内的key

# 如果删除的节点存在就返回"True",否则就返回"False"
>>> config.remove_option(‘node1‘, ‘IP‘)
True
>>> config.write(open(‘file.conf‘, ‘w‘))
>>> print(config.has_option(‘node1‘, ‘IP‘))
False

获取指定节点下指定key的值

# 默认返回的是字符串类型
>>> config.get(‘node1‘, ‘Name‘)
‘ansheng‘
>>> config.get(‘node1‘, ‘Blog_URL‘)
‘https://blog.ansheng.me‘
# 返回的字符串我们可以设置成一下三种数据类型,分别是"int","float","bool"
# v = config.getint(‘node1‘, ‘k1‘)
# v = config.getfloat(‘node1‘, ‘k1‘)
# v = config.getboolean(‘node1‘, ‘k1‘)

获取指定节点下所有的key

# 返回节点下面所有的Key列表
>>> config.options(‘node1‘)
[‘name‘, ‘blog_url‘, ‘hostname‘]

获取指定节点下所有的键值对

# 返回一个列表,列表中每个元组就是一个键值对
>>> config.items(‘node1‘)
[(‘name‘, ‘ansheng‘), (‘blog_url‘, ‘https://blog.ansheng.me‘), (‘hostname‘, ‘localhost.localhost‘)]

获取所有节点

# 获取当前文件中有多少个节点
>>> config.sections()
[‘node1‘]

#Python标准库 #Configparser

时间: 2024-12-20 21:44:03

11Python标准库系列之configparser模块的相关文章

22Python标准库系列之Redis模块

Python标准库系列之Redis模块 What is redis? Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, b

9Python标准库系列之time模块

Python标准库系列之time模块 This module provides various functions to manipulate time values. 方法名 说明 time.sleep(int) 等待时间 time.time() 输出时间戳,从1970年1月1号到现在用了多少秒 time.ctime() 返回当前的系统时间 time.gmtime() 将时间戳转换成struct_time格式 time.localtime() 以struct_time格式返回本地时间 time

4Python标准库系列之sys模块

Python标准库系列之sys模块 This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter. It is always available. sys模块用于提供对解释器相关的操作 模块方法 解释说明 sys.argv 传递到Python脚本的命令行参数列表,第一个元

12Python标准库系列之subprocess模块

Python标准库系列之subprocess模块 This module allows you to spawn processes, connect to their input/output/error pipes, and obtain their return codes. 常用方法实例 call() 执行命令,并返回状态码,状态码0代表命令执行成功,其他的都表示命令执行不成功 >>> ret = subprocess.call(["ls", "-l

7Python标准库系列之requests模块

Python标准库系列之requests模块 Requests is the only Non-GMO HTTP library for Python, safe for human consumption. 官方文档:http://docs.python-requests.org/en/master/ 安装Requests模块 Requests模块官方提供了两种方式安装: pip方式安装 pip install requests 源码方式安装 git clone git://github.co

5Python标准库系列之json模块

Python标准库系列之json模块 JSON (JavaScript Object Notation) http://json.org is a subset of JavaScript syntax (ECMA-262 3rd edition) used as a lightweight data interchange format. JSON通常用于在Web客户端和服务器数据交换,即把字符串类型的数据转换成Python基本数据类型或者将Python基本数据类型转换成字符串类型. 常用方法

13Python标准库系列之shutil模块

Python标准库系列之shutil模块 The shutil module offers a number of high-level operations on files and collections of files. In particular, functions are provided which support file copying and removal. For operations on individual files, see also the os modul

14Python标准库系列之zipfile模块

Python标准库系列之zipfile模块 The ZIP file format is a common archive and compression standard. This module provides tools to create, read, write, append, and list a ZIP file. This module does not currently handle multi-disk ZIP files. It can handle ZIP file

10Python全栈之路系列之深浅拷贝标准库系列之datetime模块

Python标准库系列之datetime模块 Fast implementation of the datetime type. 功能 说明 datetime.date.today() 打印输出当前的系统日期 datetime.date.fromtimestamp(time.time()) 将时间戳转成日期格式 datetime.datetime.now() 打印当前的系统时间 current_time.replace(2016,5,12) 返回当前时间,但指定的值将被替换 datetime.d