常用模块 - configparse模块
发布时间:2020-12-14 04:30:02 所属栏目:Windows 来源:网络整理
导读:一、简介 configparser模块在Python中是用来读取配置文件的,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节点(section),每个节可以有多个参数(键=值)。 二、生成配置文件 # ! /usr/bin/env python3 # -*- coding:utf-8 -*- # Auth
一、简介configparser模块在Python中是用来读取配置文件的,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节点(section),每个节可以有多个参数(键=值)。 二、生成配置文件#! /usr/bin/env python3 # -*- coding:utf-8 -*- # Author : mayi # Blog : http://www.cnblogs.com/mayi0312/ # Date : 2019/4/3 # Name : test01 # Software : PyCharm # Note : 用于测试configparser模块的功能 # 导入模块 import configparser config = configparser.ConfigParser() """生成configparser配置文件 ,字典的形式""" """第一种写法""" config["DEFAULT"] = {‘ServerAliveInterval‘: ‘45‘,‘Compression‘: ‘yes‘,‘CompressionLevel‘: ‘9‘} """第二种写法""" config[‘bitbucket.org‘] = {} config[‘bitbucket.org‘][‘User‘] = ‘hg‘ """第三种写法""" config[‘topsecret.server.com‘] = {} topsecret = config[‘topsecret.server.com‘] topsecret[‘Host Port‘] = ‘50022‘ # mutates the parser topsecret[‘ForwardX11‘] = ‘no‘ # same here config[‘DEFAULT‘][‘ForwardX11‘] = ‘yes‘ """写入后缀为.ini的文件""" with open(‘example.ini‘,‘w‘) as configfile: config.write(configfile) 运行后,文件“example.ini”中的结果: [DEFAULT] compression = yes compressionlevel = 9 serveraliveinterval = 45 forwardx11 = yes [bitbucket.org] user = hg [topsecret.server.com] host port = 50022 forwardx11 = no 三、解析配置文件读取configparser配置文件的实例 #! /usr/bin/env python3 # -*- coding:utf-8 -*- # Author : mayi # Blog : http://www.cnblogs.com/mayi0312/ # Date : 2019/4/3 # Name : test01 # Software : PyCharm # Note : 用于测试configparser模块的功能 # 导入模块 import configparser config = configparser.ConfigParser() # 读取配置文件 config.read("example.ini") print("所有节点==>",config.sections()) print("包含实例范围默认值的词典==>",config.defaults()) for item in config["DEFAULT"]: print("循环节点topsecret.server.com下所有option==>",item) print("bitbucket.org节点下所有option的key,包括默认option==>",config.options("bitbucket.org")) print("输出元组,包括option的key和value",config.items(‘bitbucket.org‘)) print("bitbucket.org下user的值==>",config["bitbucket.org"]["user"]) # 方式一 topsecret = config[‘bitbucket.org‘] print("bitbucket.org下user的值==>",topsecret["user"]) # 方式二 print("判断bitbucket.org节点是否存在==>",‘bitbucket.org‘ in config) print("获取bitbucket.org下user的值==>",config.get("bitbucket.org","user")) print("获取option值为数字的:host port=",config.getint("topsecret.server.com","host port")) 运行结果: 所有节点==> [‘bitbucket.org‘,‘topsecret.server.com‘] 包含实例范围默认值的词典==> OrderedDict([(‘compression‘,‘yes‘),(‘compressionlevel‘,‘9‘),(‘serveraliveinterval‘,‘45‘),(‘forwardx11‘,‘yes‘)]) 循环节点topsecret.server.com下所有option==> compression 循环节点topsecret.server.com下所有option==> compressionlevel 循环节点topsecret.server.com下所有option==> serveraliveinterval 循环节点topsecret.server.com下所有option==> forwardx11 bitbucket.org节点下所有option的key,包括默认option==> [‘user‘,‘compression‘,‘compressionlevel‘,‘serveraliveinterval‘,‘forwardx11‘] 输出元组,包括option的key和value [(‘compression‘,(‘user‘,‘hg‘)] bitbucket.org下user的值==> hg bitbucket.org下user的值==> hg 判断bitbucket.org节点是否存在==> True 获取bitbucket.org下user的值==> hg 获取option值为数字的:host port= 50022 删除配置文件section和option的实例(默认分组有参数时无法删除,但可以先删除下面的option,再删分组) #! /usr/bin/env python3 # -*- coding:utf-8 -*- # Author : mayi # Blog : http://www.cnblogs.com/mayi0312/ # Date : 2019/4/3 # Name : test01 # Software : PyCharm # Note : 用于测试configparser模块的功能 # 导入模块 import configparser config = configparser.ConfigParser() # 读取配置文件 config.read("example.ini") config.remove_section("bitbucket.org") """删除分组""" config.remove_option("topsecret.server.com","host port") """删除某组下面的某个值""" config.write(open(‘example.ini‘,"w")) 运行后,文件“example.ini”中的结果: [DEFAULT] compression = yes compressionlevel = 9 serveraliveinterval = 45 forwardx11 = yes [topsecret.server.com] forwardx11 = no 修改配置文件 #! /usr/bin/env python3 # -*- coding:utf-8 -*- # Author : mayi # Blog : http://www.cnblogs.com/mayi0312/ # Date : 2019/4/3 # Name : test01 # Software : PyCharm # Note : 用于测试configparser模块的功能 # 导入模块 import configparser config = configparser.ConfigParser() # 读取配置文件 config.read("example.ini") config.add_section("new_section") """新增分组""" config.set("DEFAULT","compressionlevel","110") """设置DEFAULT分组下compressionlevel的值为110""" config.write(open(‘example.ini‘,"w")) 运行后,文件“example.ini”中的结果: [DEFAULT] compression = yes compressionlevel = 110 serveraliveinterval = 45 forwardx11 = yes [topsecret.server.com] forwardx11 = no [new_section] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows Azure和动态弹性
- PE基础3-资源表-重定位表-TLS表-DLL延迟加载表
- windows-server-2008 – 从Windows Server Standard到Enter
- Windows上的应用程序颜色(背景,按钮等)指南?
- Windows Server 2012 R2 WSUS-1:部署环境概述
- Windows安装程序 – 通过互联网更新MSI安装的最佳方法是什么
- windows-7 – 如何实现自定义UAC权限UI?
- windows-7 – 使用libvirt管理的kvm 64主机上win7 64 guest
- 键盘语言更改在Windows 7上的PhpStorm中不起作用
- windows-server-2008 – Windows 2008 RAID失败的Redudancy