在蟒蛇皮卡反应中领先b

Kam*_*han 4 python amqp pika

我正在尝试使用python创建一个简单的AMQP客户端.我复制了我在RabbitMQ网站上找到的代码:

#!/usr/bin/env python
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(
    host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)

channel.basic_consume(callback,
                  queue='hello',
                  no_ack=True)

print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
Run Code Online (Sandbox Code Playgroud)

这有效,除了它总是打印像[x]收到的b'my消息'.由于这个原因,我无法解析我的json消息.我该如何解决 ?

小智 8

您可以使用decode()将字符串转换为utf-8然后将其打印出来,例如

str = 'your str'
print(str.decode())
Run Code Online (Sandbox Code Playgroud)


Eli*_*son 5

加上一出菜的正确答案,发现可以decode()直接把方法加到print里面的body var里面。像这样:

print(" [x] Received %r" % body.decode())
Run Code Online (Sandbox Code Playgroud)