如何通过Binance API正确获取币安现货钱包的资产余额
错误原因
你的代码问题出在遍历逻辑:for i in bal是遍历返回字典的所有键名,当判断i == 'balances'时,i本身是字符串类型的键名,你直接遍历i就相当于拆分字符串的每一个字符,所以会输出单个字母。
正确实现
bal是接口返回的字典结构,你可以直接通过键名提取balances对应的资产列表,再遍历列表获取对应余额即可,示例代码如下:
bal = client.get_account() # 提取资产列表,无对应字段时默认返回空列表避免报错 balances_list = bal.get('balances', []) # 遍历打印所有币种的余额 for asset_item in balances_list: print(f"币种:{asset_item['asset']},可用余额:{asset_item['free']},冻结余额:{asset_item['locked']}")
如果你只需要查询单个指定币种的余额,可以加过滤条件:
# 示例:仅查询BTC的可用余额 for asset_item in balances_list: if asset_item['asset'] == 'BTC': print(f"BTC可用余额:{asset_item['free']}") break
内容的提问来源于stack exchange,提问作者rayment
相关产品推荐
相关产品推荐

