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

这篇博客,介绍下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模块读写配置文件的更多相关文章

  1. Python自动化测试 -ConfigParser模块读写配置文件

    C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...

  2. python:实例化configparser模块读写配置文件

    之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...

  3. 用ConfigParser模块读写配置文件——Python

    对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...

  4. Python自动化测试 (二) ConfigParser模块读写配置文件

    ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section,    section 下有op ...

  5. Python使用ConfigParser模块读取配置文件(config.ini)以及写入配置文件

    前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser.configPars ...

  6. configparser模块读写ini配置文件

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

  7. python中confIgparser模块学习

    python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...

  8. Python中ConfigParser模块应用

    Python中ConfigParser模块应用 Python的ConfigParser模块定义了3个对INI文件进行操作的类 RawConfigParser.ConfigParser和SafeConf ...

  9. python中configparser模块读取ini文件

    python中configparser模块读取ini文件 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(se ...

随机推荐

  1. 深度学习新星:GAN的基本原理、应用和走向

    深度学习新星:GAN的基本原理.应用和走向 (本文转自雷锋网,转载已获取授权,未经允许禁止转载)原文链接:http://www.leiphone.com/news/201701/Kq6FvnjgbKK ...

  2. 第一篇-Html标签中head标签,body标签中input系列,textarea和select标签

    第十四周课程(1-12章节) HTML 裸体 CSS   穿华丽衣服 Javascript 动起来 一 HTML (20个标签) 1.我们的浏览器是socket客户端 2.一套规则,浏览器认识的规则 ...

  3. VirtualBox网络连接方式

    VirtualBox图形界面下有四种网络接入方式,它们分别是: 1.NAT 网络地址转换模式(NAT,Network Address Translation) 2.Bridged Adapter 桥接 ...

  4. Orchard详解--第八篇 拓展模块及引用的预处理

    从上一篇可以看出Orchard在处理拓展模块时主要有两个组件,一个是Folder另一个是Loader,前者用于搜索后者用于加载. 其中Folder一共有三个:Module Folder.Core Fo ...

  5. coTurn 运行在Windows平台的方法及服务与客户端运行交互流程和原理

    coTurn是一个开源的STUN和TURN及ICE服务项目,只是不支持Windows.为了在window平台上使用coTurn源码,需要在windows平台下安装Cygwin环境,并编译coTurn源 ...

  6. POST 400 的一次遭遇

    使用Springboot开发接口的过程中,使用POST接收提交的数据. @PostMapping("/input") public void inputData(@RequestB ...

  7. CSS margin 外边距 属性的位置关系

    padding:内边距 margin :外边距 margin:10px; 所有 4 个外边距都是 10px ******************************************* ma ...

  8. spring4笔记----web.xml中2.4以上版本Listener的配置

    基本上没用过Servlet2.4以下版本,所以2.4版本以下不必学了 <?xml version="1.0" encoding="UTF-8"?> ...

  9. Linux 自动化部署Rsyslog服务

    Linux 自动化部署Rsyslog服务 源码如下: #/bin/bash #该脚本用于自动化部署Ryslog服务配置 #作者:雨中落叶 #博客:https://www.cnblogs.com/yuz ...

  10. JavaScript -- 时光流逝(三):js中的 String 对象的方法

    JavaScript -- 知识点回顾篇(三):js中的 String 对象的方法 (1) anchor(): 创建 HTML 锚. <script type="text/javasc ...