读写yaml文件

 yaml 如何禁用告警?有三种方式。

1.  使用PYTHONWARNINGS环境变量

PYTHONWARNINGS=ignore::yaml.yamlloadwarning

2.  yaml.load(input, Loader=yaml.FullLoader),Loader有以下四种:

     1、BaseLoader:仅加载最基本的YAML;

     2、SafeLoader:安全的加载YAML语言的子集;

     3、FullLoader:加载完整的YAML语言,避免执行任意代码,是目前默认的加载方式;

     4、UnsafeLoader(也要求Loader向后兼容):不受信任的数据输入,很容易利用的原始Loader代码;

3.  全局禁用警告

yaml.warnings({'YAML.LOADWARNING':False})

在python中读写yaml配置文件:

import os
import yaml

#当前文件路径
filepath = os.path.dirname(__file__)
print("当前文件路径: %s" % filepath)

#当前文件的realpath
filenamepath = os.path.split(os.path.realpath(__file__))[0]
print("当前文件realpath: %s" % filenamepath)

#获取配置文件的路径
yamlpath = os.path.join(filenamepath, 'testdataconfig.yaml')
print("配置文件的路径: %s" % yamlpath)


# 代码实现写入yaml配置文件信息
############ 以下:写入yaml文件###############################
# a 代表‘追加写入’ ,w 代表‘覆盖写入’
fw = open(yamlpath, 'a', encoding='utf-8')
data = {
    "cookie1": {
        'domain': '.yiyiyi',
        'expiry': 123456.1573,
        'httponly': False,
        'name': '__ui__',
        'path': '/',
        'secure': False,
        'value': 'HSXFGSHDASJKFIMSA'
    }
}
yaml.dump(data, fw)
f = open(yamlpath, 'r', encoding='utf-8')
cont = f.read()
x = yaml.load(cont, Loader=yaml.FullLoader)
print(x)
print(x.get("cookie1"))

############ 以上:写入yaml文件###############################


# 代码实现获取yaml配置文件信息
############ 以下:代码实现获取yaml配置文件信息###############################

f = open(yamlpath, 'r', encoding='utf-8')
cont = f.read()
x = yaml.load(cont, Loader=yaml.FullLoader)
print(x)
print(x['DEVICEINFO']['deviceip'])
print(x['DEVICEINFO']['username'])
print(x['DEVICEINFO']['password'])

############ 以上:代码实现获取yaml配置文件信息###############################

运行上述读取yaml文件内容代码后,运行结果如下:

"D:\Program Files\Python\python374\python.exe" F:\AutoCode\pythonSDK\yaml_operator.py
当前文件路径: F:\AutoCode\pythonSDK
当前文件realpath: F:\AutoCode\pythonSDK
配置文件的路径: F:\AutoCode\pythonSDK\testdataconfig.yaml
{'DEVICEINFO': {'deviceip': '192.168.1.111', 'username': 'admin', 'password': 'retry'}}
192.168.1.111
admin
retry

Process finished with exit code 0

运行上述写入yaml文件代码后,运行结果如下:

"D:\Program Files\Python\python374\python.exe" F:\AutoCode\pythonSDK\yaml_operator.py
当前文件路径: F:\AutoCode\pythonSDK
当前文件realpath: F:\AutoCode\pythonSDK
配置文件的路径: F:\AutoCode\pythonSDK\testdataconfig.yaml
{'DEVICEINFO': {'deviceip': '192.168.1.111', 'username': 'admin', 'password': 'retry'}, 'cookie1': {'domain': '.yiyiyi', 'expiry': 123456.1573, 'httponly': False, 'name': '__ui__', 'path': '/', 'secure': False, 'value': 'HSXFGSHDASJKFIMSA'}}
{'domain': '.yiyiyi', 'expiry': 123456.1573, 'httponly': False, 'name': '__ui__', 'path': '/', 'secure': False, 'value': 'HSXFGSHDASJKFIMSA'}

Process finished with exit code 0

运行后的yaml文件内容如下:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值