前言

  大家应该接触过.ini格式的配置文件。配置文件就是把一些配置相关信息提取出去来进行单独管理,如果以后有变动只需改配置文件,无需修改代码。

  特别是后续做自动化的测试,代码和数据分享,进行管理。比如说发送邮件的邮箱配置信息、数据库连接等信息。

今天介绍一些如何用Python读取ini配置文件。


一、ini文件格式

  • 格式如下:

 ;这是注释

[section]
key1 = value1
key2= value2
[section
]
key3= value3
key4= value4
  • [section]:ini的section模块,是下面参数值的一个统称,方便好记就行
  • key = value:参数以及参数值
  • ini 文件中,使用英文分号“;”进行注释
  • section不能重复,里面数据通过section去查找,每个seletion下可以有多个key和vlaue的键值

Py3和Py2区别

# python3

import configParser

# python2

import ConfigParser


二、读取ini文件

Python自带有读取配置文件的模块ConfigParser,配置文件不区分大小写。
有一系列的方法可提供。

  • read(filename):读取文件内容
  • sections():得到所有的section,并以列表的形式返回。
  • options(section):得到该section的所有option。
  • items(section):得到该section的所有键值对。
  • get(section,option):得到section中option的值,返回string类型。
  • getint(section,option):得到section中option的值,返回int类型。

示例:

import os
import configparser # 当前文件路径
proDir = os.path.split(os.path.realpath(__file__))[0]
# 在当前文件路径下查找.ini文件
configPath = os.path.join(proDir, "config.ini")
print(configPath) conf = configparser.ConfigParser() # 读取.ini文件
conf.read(configPath)
# get()函数读取section里的参数值
name = conf.get("section1","name")
print(name)
print(conf.sections())
print(conf.options('section1'))
print(conf.items('section1'))

运行结果:

D:\Python_project\python_learning\config.ini
2号
['section1', 'section2', 'section3', 'section_test_1']
['name', 'sex', 'option_plus']
[('name', '2号'), ('sex', 'female'), ('option_plus', 'value')]

三、修改并写入ini文件

  • write(fp):将config对象写入至某个ini格式的文件中。
  • add_section(section):添加一个新的section。
  • set(section,option,value):对section中的option进行设置,需要调用write将内容写入配置文件。
  • remove_section(section):删除某个section。
  • remove_option(section,option):删除某个section下的option

接上部分

# 写入配置文件 set()
# 修改指定的section的参数值
conf.set("section1",'name','3号') # 增加指定section的option
conf.set("section1","option_plus","value")
name = conf.get("section1","name")
print(name)
conf.write(open(configPath,'w+')) # 增加section
conf.add_section("section_test_1")
conf.set("section_test_1","name","test_1")
conf.write(open(configPath,'w+'))

如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进到893694563,群内会有不定期的分享测试资料。
如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

Python读取ini配置文件(接口自动测试必备)的更多相关文章

  1. python读取ini配置文件的示例代码(仅供参考)

    这篇文章主要介绍了python读取ini配置文件过程示范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装 pip install configp ...

  2. python读取 ini 配置文件

    在详解python读取ini文件之前,我们先说明一个ini文件的组成: 一个ini文件是由多个section组成,每个section中以key=vlaue形式存储数据: 然后我们来使用python读取 ...

  3. Python读取ini配置文件的方式

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

  4. Python读取ini配置文件

    db_config.ini [baseconf] host=127.0.0.1 port=3306 user=root password=root db_name=evaluting_sys [con ...

  5. Python读取ini配置文件封装方法

    读取配置文件 ----rw_ini.py from configparser import ConfigParser def read_config(config_file_path:str): &q ...

  6. python 读取ini 配置文件

    安装 pip install configparser 1 配置文件 config.ini: [MysqlDB]user=rootpasswd=123456sport=3306db_name=my_d ...

  7. python 读取excel数据并将测试结果填入Excel

    python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...

  8. Python 读取写入配置文件 —— ConfigParser

    Python 读取写入配置文件 —— ConfigParser Python 读取写入配置文件很方便,可使用内置的 configparser 模块:可查看源码,如博主本机地址: “C:/python2 ...

  9. 转 python3 读取 ini配置文件

    在代码中经常会通过ini文件来配置一些常修改的配置.下面通过一个实例来看下如何写入.读取ini配置文件. 需要的配置文件是: 1 [path] 2 back_dir = /Users/abc/Pych ...

随机推荐

  1. vue项目打包 部署nginx服务器 访问远程接口 本地json 跨域问题

    本文建立在你已经在windows7上已经配好了nginx的前提下进行!!! 如果没有请移步至:https://www.cnblogs.com/jack1208-rose0203/p/5739765.h ...

  2. C#与.NET、CLR、CLI是什么关系?什么是.NET框架

    1.C#与.NET.CLR.CLI是什么关系?什么是.NET框架?      这个问题好专业啊!一句话两句话还真不好说清.您听说过C++中有个COM的概念吧?您听说过JAVA里的虚拟机吧?CLR(公共 ...

  3. 【linux】less 命令详解

    转自:https://www.cnblogs.com/GNblog/p/6932252.html less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极 ...

  4. datetime和timestamp的区别

    时间日期数据类型总概况 MySQL中有多种表示时间日期的数据类型,主要有YEAR.TIME.DATE.DATETIME.TIMESTAMP等.每一种数据类型都有存储的时间日期格式.以及取值范围,因此在 ...

  5. 高德地图——公交路线规划(关键字&坐标)

    &plugin=AMap.Transfer 1.关键词方式---不支持途径(仅支持2个数据) <!DOCTYPE html> <html> <head> & ...

  6. eh-admin一套前后端一体的轻量级后台管理系统

    https://gitee.com/DawnYang/eh-admin 主要技术 后端技术:Spring Boot,Apache Shiro,MyBatis-Plus等: 前端技术:Jquery,La ...

  7. Python3-sqlalchemy-orm 回滚

    #-*-coding:utf-8-*- #__author__ = "logan.xu" import sqlalchemy from sqlalchemy import crea ...

  8. FeignClient注解属性configuration不生效问题排查思路

    FeignClient注解属性configuration不生效问题排查思路 问题背景 我们知道,"如果需要自定义单个Feign配置,Feign的@Configuration 注解的类不能与@ ...

  9. Java编程:为什么Class实例可以不是全局唯一

    通过定义两个类加载器加载同一字节码文件来证明Class实例为什么不是全局唯一的 1.将一个名为Demo(没有后缀)的字节码文件放在D盘根目录 2.定义两个类加载器 自定义ClassLoader三要素: ...

  10. Selenium系列(八) - 截取完整页面和截取指定元素并保存为图片

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...