python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可。
这篇博客,介绍下python中利用configparser模块读写配置文件的方法,仅供参考。。。
一、读取文件
configparser模块支持读取.conf和.ini等类型的文件,那么首先在文件夹新建一个.ini文件,写入一些信息,如下图:
示例代码如下:
- # coding=utf-8
- import configparser
- import os
- os.chdir("E:\\Automation\\UI\\testcase")
- cf = configparser.ConfigParser()
- # read(filename) 读文件内容
- filename = cf.read("test.ini")
- print(filename)
- # sections() 得到所有的section,以列表形式返回
- sec = cf.sections()
- print(sec)
- # options(section) 得到section下的所有option
- opt = cf.options("mysql")
- print(opt)
- # items 得到section的所有键值对
- value = cf.items("driver")
- print(value)
- # get(section,option) 得到section中的option值,返回string/int类型的结果
- mysql_host = cf.get("mysql","host")
- mysql_password = cf.getint("mysql","password")
- print(mysql_host,mysql_password)
执行脚本,结果如下所示:
- ['test.ini']
- ['driver', 'mysql']
- ['host', 'port', 'username', 'password']
- [('path', 'E:\\Automation\\UI\\testcase\\browser\\chromedriver.exe'), ('url', 'https://www.baidu.com/')]
- 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函数帮忙,示例代码如下:
- # coding=utf-8
- import configparser
- import os
- os.chdir("E:\\Automation\\UI\\testcase")
- cf = configparser.ConfigParser()
- # 往配置文件写入内容
- # add section 添加section项
- # set(section,option,value) 给section项中写入键值对
- cf.add_section("mq")
- cf.set("mq", "user", "laozhang")
- cf.add_section("kafka")
- cf.set("kafka", "user", "xiaozhang")
- # write to file
- with open("test1.ini","w+") as f:
- cf.write(f)
执行脚本,结果如下所示:
脚本解析:
cf.write(filename):将configparser对象写入.ini类型的文件
add_section():添加一个新的section
add_set(section,option,value):对section中的option信息进行写入
三、修改文件
还可以利用os函数对文件进行修改,示例代码如下:
- # coding=utf-8
- import configparser
- import os
- os.chdir("E:\\Automation\\UI\\testcase")
- cf = configparser.ConfigParser()
- # 修改配置文件的内容
- # remove_section(section) 删除某个section的数值
- # remove_option(section,option) 删除某个section下的option的数值
- cf.read("test1.ini")
cf.remove_option("kafka","user")- cf.remove_section("mq")
- # write to file
- with open("test1.ini","w+") as f:
- cf.write(f)
执行脚本,结果如下所示:
脚本解析:
cf.read(filename):读取文件(这里需要注意的是:一定要先读取文件,再进行修改)
cf.remove_section(section):删除文件中的某个section的数值
cf.remove_option(section,option):删除文件中某个section下的option的数值
如上所示,就是configparser模块读写配置文件的方法,代码仅为参考,具体使用请自行实践。。。
python:利用configparser模块读写配置文件的更多相关文章
- Python自动化测试 -ConfigParser模块读写配置文件
C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- 用ConfigParser模块读写配置文件——Python
对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...
- Python自动化测试 (二) ConfigParser模块读写配置文件
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
- Python使用ConfigParser模块读取配置文件(config.ini)以及写入配置文件
前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser.configPars ...
- configparser模块读写ini配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- python中confIgparser模块学习
python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...
- Python中ConfigParser模块应用
Python中ConfigParser模块应用 Python的ConfigParser模块定义了3个对INI文件进行操作的类 RawConfigParser.ConfigParser和SafeConf ...
- python中configparser模块读取ini文件
python中configparser模块读取ini文件 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(se ...
随机推荐
- loj#2049. 「HNOI2016」网络(set 树剖 暴力)
题意 题目链接 Sol 下面的代码是\(O(nlog^3n)\)的暴力. 因为从一个点向上只会跳\(logn\)次,所以可以暴力的把未经过的处理出来然后每个点开个multiset维护最大值 #incl ...
- Nginx 日志格式配置介绍
Nginx日志格式配置介绍 by:授客 QQ:1033553122 测试环境 CentOS 6.5-x86_64 nginx-1.10.0 配置例子 log_format main '$ ...
- Android项目实战(四十):Andoird 7.0+ 安装APK适配
首先看一下安装apk文件的代码 /** * 通过隐式意图调用系统安装程序安装APK */ public static void install(Context context) { Intent in ...
- java StringBuffer读写文件
java StringBuffer读写文件 StringBuffer的优势 较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大.而StringBuffer ...
- Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器
一.开发环境 Nginx地址: http://nginx.org/download/nginx-1.14.2.tar.gz Nginx-rtmp-module地址: https://github.c ...
- jQuery 实现文字不停闪烁效果
使用jQuery实现的小效果:文字不停地闪烁. var flag = true; var text= $('#blink').text(); // blink是需要闪烁的元素id function b ...
- Scala抽象类型
package big.data.analyse.scala import scala.io.{BufferedSource, Source} /** * 抽象类型 * Created by zhen ...
- java笔记----java新建生成用户定义注释
${filecomment} ${package_declaration} /** * @author ${user} * @date 创建时间:${date} ${time} * @version ...
- Linux下进程的创建过程分析(_do_fork do_fork详解)--Linux进程的管理与调度(八)
Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量 ...
- python之bytes和string
转自:https://www.cnblogs.com/skiler/p/6687337.html 1.bytes主要是给在计算机看的,string主要是给人看的 2.中间有个桥梁就是编码规则,现在大趋 ...