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 ...
随机推荐
- 一个请求在Struts2框架中的处理流程
1.客户端向Servlet容器发起一个请求,将请求封装为HttpServletRequest对象. 2.HttpServletRequest首先经过web.xml中配置的struts2的过滤器,以及s ...
- 常见开发需求之前端利器webstorm中的git和快捷键
需求 前端开发中我们最常用的一般是webstorm.hbuilder和sublime,因为以前使用过一段时间eclipse所以我对webstorm的感觉比较良好,再加上以前使用hbuilder维护 ...
- Guava学习笔记(4):Ordering犀利的比较器
转自:http://www.cnblogs.com/peida/p/Guava_Ordering.html Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering ...
- JS控制按钮不能连续被点击
将下面代码拷贝进一个html文件中就可以运行查看效果. function downLoad(evt) { disabledButton(); MyPeriodicalExecuter(evt); } ...
- [软件推荐]Windows文件夹多标签工具Clover
Clover 是 Windows Explorer 资源管理器的一个扩展,为其增加类似谷歌 Chrome 浏览器的多标签页功能,目前最新版本为:3.1.7 Clover 把 Chrome 标签页有的样 ...
- Javascript并发模型和事件循环
Javascript并发模型和事件循环 JavaScript的"并发模型"是基于事件循环的,这个并发模型有别于Java的多线程, javascript的并发是单线程的. Javas ...
- NOI 题库 7624
7624 山区建小学 描述 政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往.已知任意两个相邻的村庄之间的距离为di(为正整数),其中, ...
- MongoDB各种查询操作详解
这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下 一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...
- mysql数据库安装及使用
前言:本文为在ubuntu系统下使用mysql数据库,mysql 版本为:Ver 14.14 Distrib 5.5.43 (mysql版本可在命令行中输入mysql --version显示) 一.m ...
- 移动端/H5关于cursor:pointer导致的问题
cursor属性规定要显示的光标的类型(形状),该属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状(不过 CSS2.1 没有定义由哪个边界确定这个范围). 不过,这个属性用在PC端没有任何问题 ...