【自动化测试】Python 读取 .ini 格式文件

大家应该接触过.ini格式的配置文件。配置文件就是把一些配置相关信息提取出去来进行单独管理,如果以后有变动只需改配置文件,无需修改代码。特别是后续做自动化的测试,需要拎出一部分配置信息,进行管理。比如说发送邮件的邮箱配置信息、数据库连接等信息。

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

一、ini文件格式

  • 格式如下:
; comments
[section1]
Param1 = value1
Param2= value2
[section2]
Param3= value3
Param4= value4
  • [section]:ini的section模块,是下面参数值的一个统称,方便好记就行。
  • Param = value:参数以及参数值。
  • ini 文件中,使用“;”进行注释。

二、读取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+'))

来句鸡汤:相信未来会越走越好 那么就肯定要坚持 我希望未来的我不会让自己后悔

❤ thanks for watching, keep on updating…

    原文作者:unpredictable_X
    原文地址: https://segmentfault.com/a/1190000016343323
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞