我正在尝试使用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)
加上一出菜的正确答案,发现可以decode()直接把方法加到print里面的body var里面。像这样:
print(" [x] Received %r" % body.decode())
Run Code Online (Sandbox Code Playgroud)