如何从yml文件中获取数据,然后作为字典返回

2024-05-27 11:17:27 发布

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

我有一个python函数,它将打开一个YAML文件并读取数据。YAML文件包含两个api密钥和一个域。我想返回字典中的每个值,以便在程序中使用。但是我得到了错误

"list indices must be integers, not str".

我应该把变量设为全局变量,这样就不必返回任何值了吗?在

代码是:

def ImportConfig():
    with open("config.yml", 'r') as ymlfile:
        config = yaml.load(ymlfile)
        darksky_api = config['darksky']['api_key']
        gmaps_api = ['gmaps']['api_key']
        gmaps_domain = ['gmaps']['domain']
    return {'darksky_api_key': darksky_api, 'gmaps_api_key': gmaps_api, 'gmaps_domain': gmaps_domain }

列表索引必须是整数意味着什么?我以为大括号表示字典?还有更好的方法吗?在


Tags: 文件key函数程序apiconfigyaml字典
1条回答
网友
1楼 · 发布于 2024-05-27 11:17:27

如果键入['xy']a Python的提示,则可以使用一个元素创建一个列表,然后使用另一个字符串为其编制索引:

['xy']['abc']

你会得到那个错误。在

程序的第5行和第6行中缺少config

^{pr2}$

请注意,在PyYAML中使用load是安全风险,对于您的数据,您应该使用safe_load()。在

相关问题 更多 >

    热门问题