2012-12-24 46 views
1

我使用Tornado framework并且有一个Websockethandler,它接收来自客户端的数据并将该值存储在变量中。我怎样才能发送该变量到另一个模块。这是代码(部分):将Tornado类中的变量导出到另一个模块

#module a.py 

class Handler(tornado.websocket.WebSocketHandler):  
    @tornado.web.asynchronous 
    @gen.engine 

    def on_message(self, event): 
     data = urlparse.parse_qs(event) 
     event= data.get('type') 

如何变event被传递到模块b.py

感谢

+0

你为什么要这么做? –

+0

@NikolayFominyh;我想将'event'的值传递给另一个与第三方交互的模块作为参数。 – user1869421

回答

3

使模块b.py的功能,例如on_message,并通过它您event变量:

b.py

def handle_event(new_event): 
    print new_event 

a.py

import b 

class Handler(tornado.websocket.WebSocketHandler):  
    @tornado.web.asynchronous 
    @gen.engine 

    def on_message(self, event): 
     data = urlparse.parse_qs(event) 
     event= data.get('type') 
     b.handle_message(event) # this 
+0

谢谢,我会给它一个去让你知道我是怎么做的。 – user1869421

+0

你可以“导出一个变量”使其成为全局的,但这是一个坏主意(反模式 - 搜索SO“全局变量”) – warvariuc

+0

我试过以下内容。但是,说'on_message(event)'只是输出参数'event',那么我怎样才能让它在模块'b.py'中打印? – user1869421

相关问题