资讯专栏INFORMATION COLUMN

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

Eric / 2957人阅读

摘要:大家应该接触过格式的配置文件。特别是后续做自动化的测试,需要拎出一部分配置信息,进行管理。二读取文件自带有读取配置文件的模块,配置文件不区分大小写。读取文件内容得到所有的,并以列表的形式返回。


大家应该接触过.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_projectpython_learningconfig.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...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42413.html

相关文章

  • 动化测试】发送邮件 SMTP

    摘要:的提供了一种很方便的途径发送电子邮件,它对协议进行了简单的封装。其中负责构造邮件,则负责发送邮件。可能还不止一个发送邮件的主题。 如何使用Python将生成的测试报告以邮件附件的形式进行发送呢? 一、概要 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的...

    chenatu 评论0 收藏0
  • Python Logging 日志记录入门

    Python Logging原来真的远比我想象的要复杂很多很多,学习路线堪比git。但是又绕不过去,alternatives又少,所以必须要予以重视,踏踏实实认认真真的来好好学学才行。 学习Logging的目的:简单脚本还好,print足够。但是稍微复杂点,哪怕是三四个文件加起来两三百行代码,调试也开始变复杂起来了。再加上如果是后台长期运行的那种脚本,运行信息的调查更是复杂起来。一开始我还在各种查...

    fnngj 评论0 收藏0
  • 带你深入理解动化测试框架Pytest的配置文件!

    摘要:其中用到编程等,还需要花更多的精力去深入学习,当每项技能都能掌握到一定深度,才能称为一个完整的知识体系。 都有哪些种类的配置文件 pytest.ini:pytes...

    wayneli 评论0 收藏0
  • Python常见的配置文件写法梳理汇总

      关于Python,相比大家都不会陌生吧,那么,其中的一些配置文件是什么呢?有没有可能给大家去进行做一个汇总,汇总的内容还是比较的多的,包含写法等一些相关的知识,具体的一些相关汇总,下面给大家详细解答下。  前言  在这篇文章里所提到的环境变量种类其多元性由上至下到另一个先后提升:ini为何要写环境变量  在研发流程中,很多人都会使用一些固定不动主要参数或者整型变量。对于这类相对固定不动且经常使...

    89542767 评论0 收藏0
  • python模块之configparser

    摘要:由于这种需求非常普遍,配置解析器提供了一系列更简便的方法来处理整数浮点数及布尔值。注意点方法对大小写不敏感,能识别和为对应的布尔值后备值和字典一样,可以使用的方法提供后备值需要注意的是,默认值的优先级高于后备值。 快速开始 # demo.ini [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel ...

    荆兆峰 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<