python返回函数值并退出函数_如何在python的阻塞的函数中获取变量值
目前是使用C++嵌入式的python函數(shù)
python函數(shù)是阻塞式的接收服務(wù)器消息
直到退出監(jiān)聽才會有返回值
監(jiān)聽中收到消息會調(diào)用python的一個回調(diào)函數(shù),可以獲取到收到的消息
所以要怎么樣來返回消息給C++
EDIT:
代碼如下callback打印可以打印正確數(shù)據(jù),問題是
這里用pika庫寫的rabbitMQ 的client就是為了不用
rabbitMQ的C庫
現(xiàn)在有一種考慮就是再用C寫一個python可以調(diào)的module
然后在回調(diào)函數(shù)里面調(diào),就是感覺有點丑陋。
#!/usr/bin/env python
import pika
import sys
message = ""
def callback(ch, method, properties, body):
message = body
print(method.routing_key)
return message
def consume():
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
result = channel.queue_declare(exclusive=True)
queue_name = result.method.queue
channel.queue_bind(exchange='normalEx',
routing_key='remote',
queue=queue_name)
print(' [*] Waiting for logs. To exit press CTRL+C')
channel.basic_consume(callback,
queue=queue_name,
no_ack=True)
channel.start_consuming()
總結(jié)
以上是生活随笔為你收集整理的python返回函数值并退出函数_如何在python的阻塞的函数中获取变量值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java ask to_Java nat
- 下一篇: python中代理模式分为几种_Pyth