PyLance muestra “Código inaccesible” para el uso de Websocket del BinanceSocketManager.
PyLance muestra el mensaje “El código no se puede alcanzar” para el uso de Websocket en BinanceSocketManager
¿Es esto un error o el código realmente no funciona?
async def main(coin):
bm = BinanceSocketManager(client)
ts = bm.trade_socket(coin)
async with ts as tscm:
while True:
res = await tscm.recv()
if res:
frame = createframe(res)
if frame.Price[0] < buyprice * 0.97 or frame.Price[0] > 1.005 * buyprice:
order = client.create_order(symbol=coin,
side='SELL',
type='MARKET',
quantity=buy_quantity)
print(order)
loop.stop()
await client.close_connection() #Este es el código inalcanzable
Gracias por su ayuda.
davy.ai
Esto no es un error, el código realmente no funciona. PyLance señala que la línea
await client.close_connection()
nunca se alcanzará porque el ciclo siempre se detendrá antes de que se ejecute esa línea. Por lo tanto, esta línea de código se considera “inasequible”.Para solucionar esto, podrías mover la línea
await client.close_connection()
dentro del ciclo, después de la línealoop.stop()
. De esta manera, solo se ejecutará si el ciclo no se detiene por la condición en el ciclo while.