Python中操作ini配置文件
这篇博客我主要想总结一下python中的ini文件的使用,最近在写python操作mysql数据库,那么作为测试人员测试的环境包括(测试环境,UAT环境,生产环境)每次需要连接数据库的ip,端口,都会不同,那么如何方便的来修改这些内容,就想到了配置文件,接下来我们就了解一下python中的配置文件ini吧
- ini配置文件常被用作存储程序中的一些参数,通过它,可以将经常需要改变的参数保存起来
- ini文件分为两个部分,一部分是section,一部分是key,value
- 格式就是:
[section1]
Key1=value1
Key2=value2
[section2]
Key1 =value1
Key2 = value2
- 在说一个一会代码中用到的一个函数__del__()函数(但是在我如下代码中未实现,目前仍在研究中,所以在本代码中写了write()方法代替,每次在ini中增加或者删除操作都要调用write()方法,这样才会把数据同步到本地的ini文件中,我会后续继续研究del的方法)
a) 创建对象后,python解释器会自动调用__ini__()方法,当删除一个对象时,python的解释器也会自动调用一个方法__del__(),在python中对于开发者来说很少会直接销毁对象,如果需要应该使用__del__(方法)
b) 当一个对象的引用数为0的时候,会自动调用__del__()方法,也就是说当对象引用执行完后python会自动调用__del__()函数
Python中操作ini配置文件代码如下:
import configparser class cconfigparser(object):
def __init__(self,conf_path):
self.fpath = conf_path
self.cf = configparser.ConfigParser()
self.cf.read(self.fpath,encoding='UTF-8') def write(self):
filename = open(self.fpath,'w')
self.cf.write(filename)
filename.close() # 添加指定的节点
def add_section(self,section):
sections = self.cf.sections()
if section in sections:
return
else:
self.cf.add_section(section) # 删除节点
def remove_section(self,section):
return self.cf.remove_section(section) #返回文件中的所有sections
def sections(self):
return self.cf.sections() # 获取节点下option对应的value值
def get(self,section,option):
return self.cf.get(section,option) # 在指定的section下添加option和value值
def set(self,section,option,value):
if self.cf.has_section(section):
self.cf.set(section,option,value) #移除指定section点内的option
def remove_option(self,section,option):
if self.cf.has_section(section):
resutl = self.cf.remove_option(section,option)
return resutl
return False # 返回section内所有的option和value列表
def items(self,section):
return self.cf.items(section) # 返回section所有的option
def options(self,section):
return self.cf.options(section)
Python中操作ini配置文件的更多相关文章
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- (转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...
- 在Python中操作文件之truncate()方法的使用教程
在Python中操作文件之truncate()方法的使用教程 这篇文章主要介绍了在Python中操作文件之truncate()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 ...
- python中操作csv文件
python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...
- 操作ini配置文件设计一个最基本的可视化数据库系统
对于很多小项目来说,不需要搭建专门的数据库系统(例如用SQLite搭建本地数据库),这时可以用ini配置文件实现一个最基本的数据库,实现数据库最基本的增删改查功能. ini配置文件的用法参考我以前写的 ...
- python pyyaml操作yaml配置文件
在测试工作中,可以使用yaml编写测试用例,执行测试用例时直接获取yaml中的用例数据进行测试(如:接口自动化测试) 1.什么是yaml 是一种可读的数据序列化语言,通常用于配置文件 非常简洁和强大, ...
- php操作ini配置文件
有些配置化的数据放到配置文件可以方便管理,比如数据库信息,路由信息,先建立配置文件,test.ini [database_setting] host=127.0.0.1 user=root passw ...
- 在C#中读写INI配置文件(转)
在作应用系统开发时,管理配置是必不可少的.例如数据库服务器的配置.安装和更新配置等等.由于Xml的兴起,现在的配置文件大都是以xml文档来存储.比如Visual Studio.Net自身的配置文件Ma ...
- redis的安装使用以及在python中操作redis
一.Redis介绍: Redis可以看作是一个key-value的存储系统,它为我们提供了丰富的数据结构,包括lists,sets,ordered sets和hashes.还包括了对这些数据结构的丰富 ...
随机推荐
- 正确理解Handle对象
上古时期的程序员, 肯定都知道Handle对象, 一般中文翻译成句柄. 一般的Handle在实现上, 都是一个整数, 而这个整数可以理解为一个指针, 指针指向的地址呢, 又保存了另外一个指针. 之所以 ...
- Quartz-Spring定时任务器持久化,通过Service动态添加,删除,启动暂停任务
原文地址:https://blog.csdn.net/ljqwstc/article/details/78257091 首先添加maven的依赖: <!--quartz定时任务--> &l ...
- Sampling Matrix
这些天看了一些关于采样矩阵(大概是这么翻译的)的论文,简单做个总结. FAST MONTE CARLO ALGORITHMS FOR MATRICES I: APPROXIMATING MATRIX ...
- Python—闭包
闭包的定义:即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数).而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量.参数.当其中一个这样的内部函数在包含它们的外部函数之外被调用时 ...
- oc之考试答题类效果
https://www.jianshu.com/p/ec29feb0b5a6 2017.07.27 11:48* 字数 424 阅读 615评论 9喜欢 11 demo地址:https://githu ...
- 记第一次多用户在Git提交代码
今天第一次进行了多用户(其实就两人)在自建Git服务器提交代码. 先记录碰到的问题:首先是本地提交代码时,进行了add,commit后,在push时碰到服务器故障,待设置好服务器后,再push时,却p ...
- 多线程系列之十一:Two-Phase Termination模式
一,Two-Phase Termination模式 翻译过来就是:分两阶段终止 二,示例程序 public class CountupTread extends Thread { private lo ...
- 【kindle笔记】读书记录-总
注:谨以此贴记录各种读书心得的目录.包括纸质书和电子书等等. 我的啃豆 说起来,买啃豆的初心是<鸟哥私房菜> 来自亚马逊中国官网,于公元2017年,在双十一与双十二中间,一千大洋购得 有了 ...
- 通过 MySQL 存储原理来分析排序和锁(转)
先抛出几个问题 为什么不建议使用订单号作为主键? 为什么要在需要排序的字段上加索引? for update 的记录不存在会导致锁住全表? redolog 和 binlog 有什么区别? MySQL 如 ...
- [转帖]BRD、MRD 和 PRD
来源: https://www.zhihu.com/question/19655491 BRD 商业需求文档 Business Requirement Document MRD 市场需求文档 Mark ...