小编Def*_*or6的帖子

如何使用 Viper 从嵌套的 YAML 结构中获取值?

我的问题:

如何编写下面的代码以从嵌套的 yaml 结构中获取字符串?

这是我的 yaml:

    element:
      - one:
          url: http://test
          nested: 123
      - two:
          url: http://test
          nested: 123

    weather:
      - test:
          zipcode: 12345
      - ca:
          zipcode: 90210
Run Code Online (Sandbox Code Playgroud)

这是示例代码

    viper.SetConfigName("main_config")
      viper.AddConfigPath(".")
      err := viper.ReadInConfig()
      if err != nil {
        panic(err)
      }
    testvar := viper.GetString("element.one.url")
Run Code Online (Sandbox Code Playgroud)

我的问题:

当我打印这个时,我得到一个空字符串。根据文档,这是获得嵌套元素的方式。我怀疑它不起作用,因为元素是列表。我需要做一个结构吗?我是新手,所以不确定如何制作一个,特别是如果它需要嵌套。

viper go viper-go

5
推荐指数
2
解决办法
8746
查看次数

如何*正确*在循环中运行 asyncio/aiohttp 请求?

我试图同时请求一堆 URL,但 URL 是从列表构建的。目前,我正在循环列表并(我认为)将它们添加到队列中。它肯定比 requests.get 快 10 倍,但是我不确定我是否正确执行,因此可以对其进行优化。我对其进行了分析,发现在并发请求完成后,90% 的时间它仍然处于锁定状态,即开始 -> 10+ 并发请求 -> 锁定 5 秒左右 -> 完成

Unclosed client session此外,此代码最后会生成一条消息。知道为什么吗?很确定这是正确使用上下文管理器。

我已经搜索过但没有找到这个确切的问题

 import signal
 import sys
 import asyncio
 import aiohttp
 import json
 import requests

 lists = ['eth', 'btc', 'xmr', 'req', 'xlm', 'etc', 'omg', 'neo', 'btc', 'xmr', 'req', 'xlm', 'etc', 'omg', 'neo']

 loop = asyncio.get_event_loop()
 client = aiohttp.ClientSession(loop=loop)

 async def fetch(client, url):
     async with client.get(url) as resp:
         assert resp.status == 200
         return await resp.text()

 async def main(loop=loop, url=None):
     async with …
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-requests python-asyncio aiohttp

3
推荐指数
1
解决办法
5481
查看次数