You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Binance接口get_account()出现coroutine对象不可下标错误

问题原因与修复方案

触发原因

  • 你所使用的客户端SDK近期完成了版本迭代升级,原本的同步方法get_account被调整为异步协程方法。
  • 协程对象未经过await执行时,仅为协程类的实例,并非接口实际返回的字典数据,所以直接按下标取值会触发TypeError;同时解释器检测到协程未被执行,就会抛出对应的运行时警告。

修复方案

你可以根据自己的使用场景二选一:

方案1:沿用同步写法

如果不需要使用异步特性,有两种操作可选:

  • 回滚客户端SDK到之前支持同步get_account方法的旧版本
  • 替换当前初始化的异步客户端为该SDK提供的同步客户端实例,大部分同类型SDK都会分别提供同步Client和异步AsyncClient两个初始化类,切换为同步类初始化后原有代码即可正常运行。

方案2:适配异步逻辑

如果需要保留新版本的异步特性,按异步语法规则调整代码即可:

import asyncio

# 初始化异步客户端(注意要使用对应SDK的异步类,比如AsyncClient)
# client = AsyncClient(api_key="你的key", api_secret="你的密钥")

async def get_balance():
    info = await client.get_account()
    print("ACCOUNT BALANCE INFO")
    bal = info['balances']
    print("BALANCE:")
    for b in bal:
        if float(b['free']) > 0:
            print(b)

if __name__ == "__main__":
    asyncio.run(get_balance())

内容的提问来源于stack exchange,提问作者Major Capital

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 08:24:02