Python之路----------ConfigParser模块
Python的ConfigParser
废话不说,拿去用
#coding=utf-8 import configparser
'''
基於Python3.0版本寫的配置文件的創建、增加、刪除、修改等方法
'''
def search(ini_file,section,option=None):
'''
查找配置文件节点的所有属性
:param ini_file: 要查找的配置文件
:param section: 输入查找的节点名
:return: 返回这个节点下面的所有键值对
'''
config = configparser.ConfigParser()
config.read(ini_file)
if option == None:
dic = {}
for op in config.sections():
if op == section:
for k in config.items(op):
dic[k[0]] = k[1]
return dic
else:
return config.get(section, option) def add(ini_file, section, **kwargs):
'''
添加配置文件节点属性K:V
:param ini_file: 要添加的文件名字
:param section: 要添加的节点名字
:param kwargs: 节点下面option(键值对)
:return:
'''
config = configparser.ConfigParser()
config.read(ini_file)
config[section] = kwargs
with open(ini_file, 'w') as configfile:
config.write(configfile)
return True def modify(ini_file, section, **kwargs):
'''
修改配置文件的节点属性的K:V
:param ini_file: 要修改的文件
:param section: 节点名字
:param kwargs: 要修改的节点Key的value
:return: 没有返回值
'''
config = configparser.ConfigParser()
config.read(ini_file)
for k in kwargs.items():
config.set(section, k[0], str(k[1]))
config.write(open(ini_file, "w"))
return True def deleate(ini_file, section, option=None):
'''
删除指定的节点或者指定节点下面的属性
:param ini_file:配置文件
:param section:节点名字
:param option:节点option(鍵值對)
:return:
'''
config = configparser.ConfigParser()
config.read(ini_file)
if not option:
config.remove_section(section)
else:
config.remove_option(section, option)
config.write(open(ini_file, "w"))
return True def creat_ini(ini_file, **kwargs):
'''
创建全新的配置文件
:param ini_file: 新配置文件的名字
:param kwargs: 格式参考下面的字典,option的key都是节点名字,每个key的value都是属性及属性值
dic = {"DEFAULT": {},
"mobile1": {},
"mobile2": {"number": "14420000000", "user":"False"},
"mobile3": {"number": "14430000000", "user": "False"},
"mobile4": {"number": "14440000000", "user": "False"},
"mobile5": {"number": "14450000000", "user": "False"}}
:return:
'''
config = configparser.ConfigParser()
l = [i for i in kwargs]
for x in l:
config[x] = kwargs[x]
config.write(open(ini_file, "w"))
return True
基於Python3.0版本寫的配置文件的創建、增加、刪除、修改等方法
#coding=utf-8 import ConfigParser
'''
基于Python2.7版本的配置文件的创建、查找、添加、修改、删除等操作
''' def creat_ini(ini_file, **kwargs):
'''
创建全新的配置文件
:param ini_file: 新配置文件的名字
:param kwargs: 格式参考下面的字典,option的key都是节点名字,每个key的value都是属性及属性值
option = {"mobile1": {},
"mobile2": {"number": "14420000000", "user":"False"},
"mobile3": {"number": "14430000000", "user": "False"},
"mobile4": {"number": "14440000000", "user": "False"},
"mobile5": {"number": "14450000000", "user": "False"}}
:return:
'''
config = ConfigParser.ConfigParser()
l = [i for i in kwargs]
for section in l:
config.add_section(section)
if len(kwargs[section]) != 0:
for k in kwargs[section].items():
config.set(section, k[0], str(k[1]))
config.write(open(ini_file, "w"))
return True def search_ini(ini_file,section,option=None):
'''
查询section下面所有kv,查询制定node制定option值
:param ini_file: 配置文件名字
:param section: 要添加的节点名字
:param option: 节点下面键名
'''
config = ConfigParser.ConfigParser()
config.read(ini_file)
if option == None:
dic = {}
for k in config.items(section):
dic[k[0]]=k[1]
return dic
else:
return config.get(section,option) def add_ini(ini_file,section,**kwargs):
'''
添加配置文件节点属性K:V
:param ini_file: 要添加的文件名字
:param section: 要添加的节点名字
:param kwargs: 节点下面键值对
:return:
'''
config = ConfigParser.ConfigParser()
config.read(ini_file)
if config.has_section(section):
for k in kwargs.items():
config.set(section, k[0], k[1])
else:
config.add_section(section)
for k in kwargs.items():
config.set(section, k[0], k[1])
with open(ini_file, 'w') as configfile:
config.write(configfile)
return True def modify_ini(ini_file, section, **kwargs):
'''
修改配置文件的节点属性的K:V
:param ini_file: 要修改的文件
:param section: 节点名字
:param kwargs: 要修改的节点Key的value
:return: 没有返回值
'''
config = ConfigParser.ConfigParser()
config.read(ini_file)
for k in kwargs.items():
config.set(section, k[0], str(k[1]))
with open(ini_file, 'w') as configfile:
config.write(configfile) return True def del_ini(ini_file,section,option = None):
'''
删除指定的节点或者指定节点下面的属性
:param ini_file:配置文件
:param section:节点名字
:param option:节点属性
:return:
'''
config = ConfigParser.ConfigParser()
config.read(ini_file)
if config.has_section(section):
if not option:
config.remove_section(section)
config.write(open(ini_file, "w+"))
return True
else:
if config.has_option(section,option):
config.remove_option(section, option)
config.write(open(ini_file, "w+"))
return True
else:
print("删除失败,《%s》没有《%s》option!!" % (section,option))
return False
else:
print("删除失败,section《%s》不存在" % section)
return False
基於Python2.7版本寫的配置文件的創建、增加、刪除、修改等方法
Python之路----------ConfigParser模块的更多相关文章
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- Python 标准库 ConfigParser 模块 的使用
Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import ...
- Python自动化测试 (二) ConfigParser模块读写配置文件
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
- python之路:模块初识
python王者开发之路:模块初识 模块初识我现在讲的确有点早.不过没关系,后面我会详细说模块. 模块,也就是库,是python三剑客之一.这三剑客,函数.库和类,都是由程序编写而成的.之所以我先说模 ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- Python操作配置文件configparser模块
在实际的开发过程中,我们常有操作ini格式和conf格式配置文件的操作,Python为我们提供了configparser模块,方便我们对配置文件进行读写操作. config.ini配置文件内容如下: ...
- Python之路-numpy模块
这里是首先需要安装好Anaconda Anaconda的安装参考Python之路-初识python及环境搭建并测试 配置好环境之后开始使用Jupyter Notebook 1.打开cmd,输入 jup ...
- python学习之 - configparser模块
configparser模块功能:用于生成和修改常见配置文件.基本常用方法如下: read(filename):直接读取配置文件write(filename):将修改后的配置文件写入文件中.defau ...
- python之路——常用模块
阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 con ...
随机推荐
- cve-2015-5199漏洞分析
继续之前hackteam的flash漏洞,这次的对象为cve-2015-5199,遂做一下记录. 首先,在该exp中TryExpl函数为漏洞的触发函数,该函数也为本次调试的主要对象,函数的开始首先创建 ...
- Spring-配置bean的方法(工厂方法和Factorybean)【转】
通过工厂方法配置bean 通过调用静态工厂方法创建bean 通过静态工厂方法创建bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不关心创建对象的细节. 要声 ...
- java-集合3
浏览以下内容前,请点击并阅读 声明 Queue接口(队列) 需要对一些列的元素进行处理前,我们可以把他们放到Queue对象中,除了继承Collection接口的方法外,队列还有一些插入,删除和检查操作 ...
- eclipse调试solr
eclipse调试solr 现在solr的源码包,我这里是4.10.2, 编译, ant ivy-bootstrap ant eclipse 导入elipse,将solr/example/solr/下 ...
- react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)
react学习小结 本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...
- letter upper lower combo
以前同事为了炫耀ruby的简洁,特意出一道题来考小陈: 在写一个爆破密码的字典生成工具,其中有这样一个需求: 输入一个单词:列出这个单词的所有大小写组合,比如ruby Ruby rUby ruBy r ...
- uri不能处理结尾为点的url的问题
最近需要和某公司进行接口对接,发现用WebClient获取URL结尾带.的资源,会出404错误.但是用IE还有其它浏览器访问此资源,还能找到它.很神奇. 于是,我百度了,找到的一堆都是说此url不规范 ...
- ZeroMQ接口函数之 :zmq_msg_init_size - 使用一个指定的空间大小初始化ZMQ消息对象
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_init_size zmq_msg_init_size(3) ØMQ Manual - ØMQ/3.2.5 ...
- Android底部菜单的实现
前言:以前制作菜单使用TabHost,但是android 3.0以上就被废弃了,google已经不建议使这个类了.ActionBar也是菜单,不过在头部,算是导航了 ===本文就介绍怎么制作底部菜单= ...
- mac优秀软件介绍
1.首先是office软件: Microsoft_Office_2016_Installer.pkg 然后是一个破解软件 FWMSO2016VLU2.0.dmg_.zip 两个都不可少 2.然后是如果 ...