问题描述
我刚开始使用Python进入AsyncIO,我编写了一个非常简单的测试脚本来尝试了解其工作原理。
这是我尝试过的:
import cfscrape,asyncio,json,time
BU = cfscrape.create_scraper()
async def run(market):
try:
# DATA RETRIEVAL #
URL = "https://api.binance.com/api/v1/klines?&symbol={0}&interval=4h&limit=130".format(market)
ResultRaw = BU.get(URL,timeout=(10,15)).content
Result = json.loads(ResultRaw)
print(Result)
time.sleep(2)
print('Finished')
except Exception as e:
print(e)
async def main():
Tickers = ['BTCUSDT','ETHBTC','ETHUSDT']
for market in Tickers:
await run(market)
asyncio.run(main())
此脚本采用三个参数,并向API端点执行简单查询,然后休眠并打印Finished
。输出将如下所示:
Result
Finished
Result
Finished
Result
Finished
我不明白的是以下内容:为什么没有输出:
Result
Result
Result
Finished
Finished
Finished
脚本似乎一个接一个地同步执行功能。相反,我想为每个执行创建一个协程,因此这三个请求应该已经同时(几乎)执行了。再说一次,我是异步Python的新手,所以我的意思可能是错误的,但是有人可以帮助我理解这一点吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)