python自动化学习--3.7 全局配置INI文件&YAML文件处理

1、INI文件

新建config.ini文件 内容如下

;项目路径
[path]
log_path=D:\zddStudy\pycharmProjects\Code
report_path=D:\zddStudy\pycharmProjects\Code\report
[database]
username=xingyao
passwd=123456

1、读取INI文件

新建ini_action.py文件用来读取config.ini中的内容

import configparser

config = configparser.ConfigParser()
config.read("config.ini", encoding="utf-8")
# 获取ini文件中所有的节点
sections = config.sections()
# 获取ini文件中某个节点下所有选项
database_options = config.options(section="database")
# 获取ini文件某个节点下某个选项的选项值
value = config.get(section="database", option="username")
# 获取某个节点下的所有选项及选项值
values = config.items(section="database")
print("ini文件中所有的节点", sections)
print("ini文件中database节点下所有选项", database_options)
print("ini文件database节点下username的选项值", value)
print("ini文件database节点下的所有选项及选项值", values)

执行后结果是:

ini文件中所有的节点 ['path', 'database']
ini文件中database节点下所有选项 ['username', 'passwd']
ini文件database节点下username的选项值 xingyao
ini文件database节点下的所有选项及选项值 [('username', 'xingyao'), ('passwd', '123456')]

 2、编辑INI文件(写入或者修改)

1、写入一个节点和选项
section = "userinfo1"
if section not in sections:
    # 写入一个节点 userinfo
    config.add_section(section)
    # 给某个节点添加选项和选项值
    config.set(section=section, option="username", value="hefan")
    config.set(section=section, option="passwd", value="hefan")
with open("config.ini", "w+") as file:
    config.write(file)
2、删除一个节点所有选项或者某个节点的某个选项
# 删除节点
# config.remove_section("userinfo1")
# 删除选项和选项值
config.remove_option(section="userinfo1", option="username")
with open("config.ini", "w+") as file:
    config.write(file)

3、修改某个节点的某个选项内容

config.set(section="userinfo1", option="username", value="999999")
with open("config.ini", "w+") as file:
    config.write(file)

2、YAML文件

1、什么是yaml文件?

        YAML 是一种灵活的数据格式,支持注释、换行符、多行字符串、裸字符等,在自动化过程中,我们很多地方都需要使用配置文件来存储数据

比如测试环境,数据库信息、账号信息、日志格式、日志报告名称等。

其中,yaml文件是最常用的配置文件类型之一,相比较ini,conf配置文件来说,它更加简洁,操作更加简单,同时还可以存放不同类型的数据。

后缀名:yaml yal

2、yaml支持哪些数据类型

        对象、数组、纯量

3、YAML编写格式语法规则

        大小写敏感

        使用缩进表示层级关系 缩进用空格

        # 表示注释

新建 yaml_1.yaml 文件 内容如下:

文件内容类型是:list

- 1
- 2
- 3
- 4

文件内容类型是:dict

username: cn
passwd: 123456

文件内容类型是:str

Hello World

1、读取yaml文件

import yaml

with open("yaml_3.yaml", "r") as file:
    data = yaml.load(stream=file, Loader=yaml.FullLoader)
print(data)
print(type(data))

2、写入yaml文件

"""
序列化:python对象转换为数据文件进行存储及传输
"""
modules = [ "pytest", "unittest", "requests", "requests"]
with open("modules.yaml", "w+") as file:
    yaml.dump(data=modules, stream=file, allow_unicode=True, encoding="utf-8")

3、修改yaml文件

可以先读取文件内容, 然后修改内容,再把内容写入modules.yaml文件

比如modules.yaml文件内容是list类型 修改列表第一个的值为aaa

import yaml

# 先读取yaml文件
with open("modules.yaml", "r") as file:
    data = yaml.load(stream=file, Loader=yaml.FullLoader)
print(data)
print(type(data))

# 修改yaml文件
data[0] = "ddd"
# 把数据重新写入yaml文件
with open("modules.yaml", "w+") as file:
    yaml.dump(data=data, stream=file, allow_unicode=True, encoding="utf-8")

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值