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 ...
随机推荐
- 提交form表单
方法一: $.ajax({ }) $.ajax({ cache: true, type: "POST", url:ajaxCallUrl, data:$('#yourformid' ...
- Java基础知识点3:集合类
集合类是Java编程中经常会用到的一类常用类库,在这里将会对整个集合类进行介绍: Collection接口: Collection接口是所有集合类的根接口,代表了所有含有多个元素的集合,无论这个集合中 ...
- Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (utf-8)
org.apache.jasper.JasperException:xxx.jsp(1,1) Page-encoding specified in XML prolog (UTF-8) is diff ...
- Only Link: Inheritance — private and protected inheritance in c++
reading note link: https://isocpp.org/wiki/faq/private-inheritance
- Leetcode Minimum Window Substring
Given a string S and a string T, find the minimum window in S which will contain all the characters ...
- NOIp #2009
http://files.cnblogs.com/files/radiumlrb/NOIP2009%E6%8F%90%E9%AB%98%E7%BB%84%E5%A4%8D%E8%B5%9B%E8%AF ...
- PHP mysql基础操作
mysql连接操作 //建立连接$con = mysql_connect('localhost', 'root', '123456');//判断是否连接成功if($con){ die('连接失败!'. ...
- js中的数据类型
JS中的数据类型: ——数字 (number)NaN ——字符串(string) ——布尔 (boolean)——函数 (function) 也是对象的一种 ——对象 (object) ...
- Java Gson 简要笔记
Gson是Google开发的Java比较好用的 Json工具. 使用挺简单,假设有个类: class Runner { int attr; String name; public Runner(int ...
- MySQL语句执行顺序
执行顺序:见:http://www.cnblogs.com/rollenholt/p/3776923.html 下面我们来具体分析一下查询处理的每一个阶段 FORM: 对FROM的左边的表和右边的表计 ...