无法从python中的yaml文件中获取值

2024-10-02 10:19:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白我的错误在哪里。看起来一切正常,但我无法从yml文件中获取数据。
这是我的yml文件:

envdev:
  base_url: url
  user_name: user
  password: password
envprod:
  base_url: url
  user_name: user
  password: password

以下是我用python编写的代码:

 with open("../env.yml", 'r') as yamlfile:
        try:
            yaml_file = yaml.safe_load(yamlfile)
        except yaml.YAMLError as exc:
            print(exc)

我是这样打电话的:

driver.get(yaml_file["envdev"]["base_url"])

下面是错误:

  >       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
E         (Session info: chrome=90.0.4430.85)

/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/errorhandler.py:242: InvalidArgumentException

Tags: 文件nameurlyamlbaseymlasselenium
1条回答
网友
1楼 · 发布于 2024-10-02 10:19:00

您可以使用strictyaml来执行此操作

yaml_file将是一个YAML对象,yaml_dict将是一个字典

from strictyaml import load

with open("./tests/env.yml", "r") as yamlfile:
    yaml_file = load(yamlfile.read())

yaml_file["envdev"]["base_url"]

转换为字典以更好地处理:

yaml_dict = yaml_file.data
yaml_dict["envdev"]["base_url"]

相关问题 更多 >

    热门问题