Python 代码中的result.message不是字符串吗?

Python 代码中的result.message不是字符串吗?,python,publish-subscribe,raspberry-pi3,gpio,pubnub,Python,Publish Subscribe,Raspberry Pi3,Gpio,Pubnub,我想比较pubnub上发布的字符串和其他字符串,以便在raspberry pi3中相应地将gpio引脚设置为高或低。 如果此“result.message”不是字符串,那么如何将其转换为字符串类型。python程序通过pubnub接收的消息存储在对象类型的“message”中。 考虑到通过pubnub发布的消息是字符串类型的。 终端上打印的消息非常好,但比较代码不起作用(如果result.message为“stop”: 这是python程序 #!/usr/bin/python f

我想比较pubnub上发布的字符串和其他字符串,以便在raspberry pi3中相应地将gpio引脚设置为高或低。 如果此“result.message”不是字符串,那么如何将其转换为字符串类型。python程序通过pubnub接收的消息存储在对象类型的“message”中。 考虑到通过pubnub发布的消息是字符串类型的。 终端上打印的消息非常好,但比较代码不起作用(如果result.message为“stop”: 这是python程序

    #!/usr/bin/python
    from pubnub.pnconfiguration import PNConfiguration
    from pubnub.pubnub import PubNub
    from pubnub.callbacks import SubscribeCallback
    from pubnub.enums import PNOperationType, PNStatusCategory
    from pubnub.pubnub import PubNub, SubscribeListener
    import time
    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(12,GPIO.OUT)
    GPIO.setup(16,GPIO.OUT)
    GPIO.setup(20,GPIO.OUT)
    GPIO.setup(21,GPIO.OUT)


    pnconfig = PNConfiguration()
    pnconfig.subscribe_key = "sub-c-fcf7d96e-501b-11e7-abef-0619f8945a4f"
    pnconfig.publish_key = "pub-c-7bf2b0e2-d63a-48eb-8d10-55afcb0ef5c9"
    pnconfig.ssl = True

    pubnub = PubNub(pnconfig)
    my_listener = SubscribeListener()
    pubnub.add_listener(my_listener)

   class MySubscribeCallback(SubscribeCallback):
        def status(self, pubnub, status):
            pass
           if status.operation == PNOperationType.PNSubscribeOperation \
            or status.operation == PNOperationType.PNUnsubscribeOperation:
               if status.category == PNStatusCategory.PNConnectedCategory:
               pass

              elif status.category ==PNStatusCategory.PNReconnectedCategory:
              pass
              elif status.category==PNStatusCategory.PNDisconnectedCategory:
              pass
              elif status.categoryPNStatusCategory.PNUnexpectedDisconnectCategory:
              pass

              elif status.category == PNStatusCategory.PNAccessDeniedCategory:
            pass

              else:
              pass

              elif status.operation == PNOperationType.PNSubscribeOperation:
                   if status.is_error():
                   pass

                   else:
                   pass

              else:
               pass


def presence(self, pubnub, presence):
    pass  # handle incoming presence data

def message(self, pubnub, message):
    result = my_listener.wait_for_message_on('awesomeChannel')
    name=result.message
    if result.message is "stop":
       GPIO.output(12,GPIO.LOW)
       GPIO.output(16,GPIO.LOW)
       GPIO.output(20,GPIO.LOW)
       GPIO.output(21,GPIO.LOW)
    elif result.message is "right":
       GPIO.output(12,GPIO.LOW)
       GPIO.output(16,GPIO.LOW)
       GPIO.output(20,GPIO.HIGH)
       GPIO.output(21,GPIO.LOW)
       TIME.sleep(4)
       GPIO.output(12,GPIO.HIGH)
       GPIO.output(16,GPIO.LOW)
       GPIO.output(20,GPIO.HIGH)
       GPIO.output(21,GPIO.LOW)
    elif result.message is "left":
       GPIO.output(12,GPIO.HIGH)
       GPIO.output(16,GPIO.LOW)
       GPIO.output(20,GPIO.LOW)
       GPIO.output(21,GPIO.LOW)
       TIME.sleep(4)
       GPIO.output(12,GPIO.HIGH)
       GPIO.output(16,GPIO.LOW)
       GPIO.output(20,GPIO.HIGH)
       GPIO.output(21,GPIO.LOW)
    elif result.message is "forward":
       GPIO.output(12,GPIO.HIGH)
       GPIO.output(16,GPIO.LOW)
       GPIO.output(20,GPIO.HIGH)
       GPIO.output(21,GPIO.LOW)
    elif result.message is "backward":
       GPIO.output(12,GPIO.LOW)
       GPIO.output(16,GPIO.HIGH)
       GPIO.output(20,GPIO.LOW)
       GPIO.output(21,GPIO.HIGH)
    print(result.message)   

    pubnub.add_listener(MySubscribeCallback())
    pubnub.subscribe().channels('awesomeChannel').execute()
str(result.message.parameter)
将消息对象的参数转换为字符串。
str(result.message.parameter)
将消息对象的参数转换为字符串。