несколько операторов IF в пределах попытки, кроме - PullRequest
0 голосов
/ 26 февраля 2020

Итак, мой скрипт ниже извлекает дату из веб-сокета и анализирует ее. Он может быть либо как [params] [канал], либо как [params] [тип].

Как вы можете видеть из моего кода ниже, в зависимости от того, что это, я его анализирую и присваиваю значения в дате к моим переменным.

Однако скрипт никогда не входит во второй оператор elif. Даже когда есть data1 ["params"] ["type"] == "test_request". По какой-то причине он движется не на утверждение elif, а прямо на pass. Я знаю это, потому что я переключил оператор if, и первый оператор if - единственный, который выполняется.

Я думаю, что это вызвано только попыткой. Любая помощь будет оценена.

      response1 = await websocket.recv()
      data1 = json.loads(response1)

      try:
        if data1["params"]["channel"]:
          if data1["params"]["channel"] == perp_ticker:
            perp_bid_price = data1["params"]["data"]["best_bid_price"]   
            perp_ask_price = data1["params"]["data"]["best_ask_price"]   
          elif data1["params"]["channel"] == far2_ticker:    
            far2_bid_price = data1["params"]["data"]["best_bid_price"]   
            far2_ask_price = data1["params"]["data"]["best_ask_price"]   
          elif data1["params"]["channel"] == far3_ticker:
            far3_bid_price = data1["params"]["data"]["best_bid_price"]   
            far3_ask_price = data1["params"]["data"]["best_ask_price"]   
        elif data1["params"]["type"] == "test_request" :
          await websocket.send(msg_publictest)
          print('response sent to heartbeat')
      except:
        pass
...