博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python:利用configparser模块读写配置文件
阅读量:5266 次
发布时间:2019-06-14

本文共 2628 字,大约阅读时间需要 8 分钟。

在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可。

这篇博客,介绍下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下的所有option17 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 file18 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 file17 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模块读写配置文件的方法,代码仅为参考,具体使用请自行实践。。。

 

转载于:https://www.cnblogs.com/imyalost/p/8857896.html

你可能感兴趣的文章
Oracle HRMS API's
查看>>
mysql_real_escape_string() vs addslashes() vs addcslashes()
查看>>
string与stringbuilder的区别
查看>>
2012-01-12 16:01 hibernate注解以及简单实例
查看>>
iOS8统一的系统提示控件——UIAlertController
查看>>
PAT甲级——1101 Quick Sort (快速排序)
查看>>
python创建进程的两种方式
查看>>
1.2 基础知识——关于猪皮(GP,Generic Practice)
查看>>
迭代器Iterator
查看>>
java易错题----静态方法的调用
查看>>
php建立MySQL数据表
查看>>
最简单的线程同步的例子
查看>>
内核链表使用--删除链表节点
查看>>
eclipse启动无响应,停留在Loading workbench状态
查看>>
How exactly does Google AdWords work?
查看>>
多线程系列(4)使用多线程的安全问题
查看>>
C# 你可能没这样用过(逗逼方式) return
查看>>
387. First Unique Character in a String
查看>>
JSP、Servlet乱码终极解决方案
查看>>
旅途上看的电影和观后感
查看>>