configparser模块读写ini配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可。
这篇博客,介绍下python中利用configparser模块读写配置文件的方法,仅供参考。。。
一、读取文件
configparser模块支持读取.conf和.ini等类型的文件,那么首先在文件夹新建一个.ini文件,写入一些信息,如下图:
示例代码如下:
1 # coding=utf-8
2 import configparser
3 import os
4
5 os.chdir("E:\\Automation\\UI\\testcase")
6 cf = configparser.ConfigParser()
7
8 # read(filename) 读文件内容
9 filename = cf.read("test.ini")
10 print(filename)
11
12 # sections() 得到所有的section,以列表形式返回
13 sec = cf.sections()
14 print(sec)
15
16 # options(section) 得到section下的所有option
17 opt = cf.options("mysql")
18 print(opt)
19
20 # items 得到section的所有键值对
21 value = cf.items("driver")
22 print(value)
23
24 # get(section,option) 得到section中的option值,返回string/int类型的结果
25 mysql_host = cf.get("mysql","host")
26 mysql_password = cf.getint("mysql","password")
27 print(mysql_host,mysql_password)
执行脚本,结果如下所示:
1 ['test.ini']
2 ['driver', 'mysql']
3 ['host', 'port', 'username', 'password']
4 [('path', 'E:\\Automation\\UI\\testcase\\browser\\chromedriver.exe'), ('url', 'https://www.baidu.com/')]
5 127.0.0.1 123456
脚本解析:
cf.read(filename):读取文件内容
cf.sections():得到所有的section,并且以列表形式返回
cf.options(section):得到section下所有的option
cf.items(option):得到该section所有的键值对
cf.get(section,option):得到section中option的值,返回string类型的结果
cf.getint(section,option):得到section中option的值,返回int类型的结果
二、写入文件
如果需要在配置文件写入内容,需要os函数帮忙,示例代码如下:
1 # coding=utf-8
2 import configparser
3 import os
4
5 os.chdir("E:\\Automation\\UI\\testcase")
6 cf = configparser.ConfigParser()
7
8 # 往配置文件写入内容
9
10 # add section 添加section项
11 # set(section,option,value) 给section项中写入键值对
12 cf.add_section("mq")
13 cf.set("mq", "user", "laozhang")
14 cf.add_section("kafka")
15 cf.set("kafka", "user", "xiaozhang")
16
17 # write to file
18 with open("test1.ini","w+") as f:
19 cf.write(f)
执行脚本,结果如下所示:
脚本解析:
cf.write(filename):将configparser对象写入.ini类型的文件
add_section():添加一个新的section
add_set(section,option,value):对section中的option信息进行写入
三、修改文件
还可以利用os函数对文件进行修改,示例代码如下:
1 # coding=utf-8
2 import configparser
3 import os
4
5 os.chdir("E:\\Automation\\UI\\testcase")
6 cf = configparser.ConfigParser()
7
8 # 修改配置文件的内容
9
10 # remove_section(section) 删除某个section的数值
11 # remove_option(section,option) 删除某个section下的option的数值
12 cf.read("test1.ini")
13 cf.remove_option("kafka","user")
14 cf.remove_section("mq")
15
16 # write to file
17 with open("test1.ini","w+") as f:
18 cf.write(f)
执行脚本,结果如下所示:
脚本解析:
cf.read(filename):读取文件(这里需要注意的是:一定要先读取文件,再进行修改)
cf.remove_section(section):删除文件中的某个section的数值
cf.remove_option(section,option):删除文件中某个section下的option的数值
configparser模块读写ini配置文件的更多相关文章
- $用ConfigParser模块读写conf配置文件
ConfigParser是Python内置的一个读取配置文件的模块,用它来读取和修改配置文件非常方便,本文介绍一下它的基本用法. 数据准备 假设当前目录下有一个名为sys.conf的配置文件,其内容如 ...
- Python的ConfigParser模块读取ini配置文件 报错(持续更新总结)
1.ConfigParser.MissingSection什么的错误巴拉巴拉一堆,其实根本上就是没有读到配置文件,然后我去检查了一遍路径,发现没有问题,我是将文件的路径作为一个字符串拼接好传到另一个专 ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- Python自动化测试 -ConfigParser模块读写配置文件
C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...
- python中configparser模块读取ini文件
python中configparser模块读取ini文件 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(se ...
- C# 读写 ini 配置文件
虽说 XML 文件越发流行,但精简的 ini 配置文件还是经常会用到,在此留个脚印. 当然,文中只是调用系统API,不会报错,如有必要,也可以直接以流形式读取 ini文件并解析. /// <su ...
- [转]VB 读写ini 配置文件
转自 百度知道 C# 读写 ini配置文件 点此链接 'API 声明Public Declare Function GetPrivateProfileString Lib "kernel32 ...
- 自己写的 读写 ini 配置文件类
/// <summary> /// 不调用系统API 读写 ini 配置文件 /// </summary> public class RW_ini { #region ==== ...
随机推荐
- cookie跨域问题汇总
一.通过nginx反向代理 通过nginx反向代理后,使得浏览器认为访问的资源都是属于相同协议,域名和端口的. 详细见:<nginx实现跨域访问> 二.jsonp方式请求 v jquery ...
- zookeeper实战:SingleWorker代码样例
我们需要一个“单点worker”系统,此系统来确保系统中定时任务在分布式环境中,任意时刻只有一个实例处于活跃:比如,生产环境中,有6台机器支撑一个应用,但是一个应用中有30个定时任务,这些任务有些必须 ...
- 支付宝吱口令自动复制脚本,自动复制 JavaScript 代码介绍
本文转自:http://www.sojson.com/blog/262.html 最近支付宝#吱口令#的信息随处可见,可谓是铺天盖地,群里发这样的信息给被踢了不少.我开始还在鄙视这些人,有几个小钱?然 ...
- 【洛谷】P1892 团伙(并查集)+ 求助
题目描述 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋友: 我敌人的敌人也是我的朋友. 两个强盗是同一团伙的 ...
- 用js如何获取一个上传文件的扩展名
function suffix(file_name){ var result =/\.[^\.]+/.exec(file_name); return result; }
- Rplot
#!/usr/bin/Rscriptlibrary(ggplot2) cf = read.table(file = 'result_sort.txt', header = TRUE, sep='\t' ...
- Pymol
如何用Pymol做出那些美呆的结构图(基础篇) 2016-10-31 翾园 摘自 BioEngX生化... 阅 1079 转 6 转藏到我的图书馆 微信分享: 摘自微信公众号:BioE ...
- Monkey测试工具介绍
---------------------------------------------------------------------------------------------------- ...
- django模版 常用变量
在request中有很多有用的东西,如下: 获取当前用户: 1 {{ request.user }} 如果登陆就显示内容,不登陆就不显示内容: 1 2 3 4 5 {% if request.user ...
- UNITY 内存问题资料收集
1,https://blog.csdn.net/wetest_tencent/article/details/52130703 2,http://blog.51cto.com/13638120/208 ...