2005年07月25日 星期一 23:44
如何获取无阻塞的键盘输入?好象在unix下可以用select,但是在windwos下应该怎么做呢? -- 梅劲松
2005年07月26日 星期二 08:13
windows下也可以。还可以采用线程吧。 在 05-7-25,梅劲松<stephen.cn at gmail.com> 写道: > 如何获取无阻塞的键盘输入?好象在unix下可以用select,但是在windwos下应该怎么做呢? > > -- > 梅劲松 > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年07月26日 星期二 08:37
有相关资料吗?另外如果用线程的话,屏幕显示和键盘输入还是会竞争。造成阻塞 在 05-7-26,limodou<limodou at gmail.com> 写道: > windows下也可以。还可以采用线程吧。 > > 在 05-7-25,梅劲松<stephen.cn at gmail.com> 写道: > > 如何获取无阻塞的键盘输入?好象在unix下可以用select,但是在windwos下应该怎么做呢? > > > > -- > > 梅劲松 > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > New Google Maillist: http://groups-beta.google.com/group/python-cn > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- 梅劲松
2005年07月26日 星期二 09:00
因为我在Karrigell中看到过。Karrigell的web server是使用asyncore来做的。而asyncore就是使用了select来处理的。当时有一个问题就是如何方便地停止Karrigell。因为一旦Karrigell运行起来就停不下来。于是作者在cookbook上找到一个方法就是使用线程方法可以单独做一个输入来停止: import thread # start the server in a different thread thread.start_new_thread(asyncore.loop, ()) print "Type exit to stop server\n" while True: kb = raw_input() if kb == 'exit': break asyncore.close_all() 服务是以线程运行,主线程接受用户输入。看一看是否有用。 在 05-7-26,梅劲松<stephen.cn at gmail.com> 写道: > 有相关资料吗?另外如果用线程的话,屏幕显示和键盘输入还是会竞争。造成阻塞 > > 在 05-7-26,limodou<limodou at gmail.com> 写道: > > windows下也可以。还可以采用线程吧。 > > > > 在 05-7-25,梅劲松<stephen.cn at gmail.com> 写道: > > > 如何获取无阻塞的键盘输入?好象在unix下可以用select,但是在windwos下应该怎么做呢? > > > > > > -- > > > 梅劲松 > > > > > > _______________________________________________ > > > python-chinese list > > > python-chinese at lists.python.cn > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > -- > > I like python! > > My Donews Blog: http://www.donews.net/limodou > > New Google Maillist: http://groups-beta.google.com/group/python-cn > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > -- > 梅劲松 > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年07月26日 星期二 09:58
On 7/25/05, 梅劲松 <stephen.cn at gmail.com> wrote: > 如何获取无阻塞的键盘输入?好象在unix下可以用select,但是在windwos下应该怎么做呢? msvcrt模块的kbhit(), getch() -- Qiangning Hong I'm usually annoyed by IDEs because, for instance, they don't use VIM as an editor. Since I'm hooked to that, all IDEs I've used so far have failed to impress me. -- Sybren Stuvel @ c.l.python Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1>
2005年07月26日 星期二 22:13
已经使用线程和回调的方式解决了.谢谢了,代码如下: def cmd(self,cmd): cmd = string.split(cmd,'/') if cmd[0]=='login': defer.succeed(self.login()) if cmd[0]=='send': if len(cmd) != 3: print "输入命令不完整" else: defer.succeed(self.send_msg(int(cmd[1]),cmd[2])) if cmd[0]=='list': self.qq.friend_list.clear() defer.succeed(self.get_friend_list(0)) if cmd[0]=='online': if len(self.qq.friend_list) == 0: print "请先用list命令获取你的好友列表。" else: self.qq.friend_online.clear() defer.succeed(self.get_friend_online(0)) else: print "请输入命令,参数间隔请使用/符号,例如send/278333853/你好!" reactor.callLater(0, self.input) def input(self): #获取命令 cmd = threads.deferToThread(raw_input, "Python-QQ:") cmd.addCallback(self.cmd) 在 05-7-26,Qiangning Hong<hongqn at gmail.com> 写道: > On 7/25/05, 梅劲松 <stephen.cn at gmail.com> wrote: > > 如何获取无阻塞的键盘输入?好象在unix下可以用select,但是在windwos下应该怎么做呢? > > msvcrt模块的kbhit(), getch() > > -- > Qiangning Hong > > I'm usually annoyed by IDEs because, for instance, they don't use VIM > as an editor. Since I'm hooked to that, all IDEs I've used so far have > failed to impress me. > -- Sybren Stuvel @ c.l.python > > Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1> > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- 梅劲松
Zeuux © 2025
京ICP备05028076号