9

有没有办法以编程方式中断 Python 的 raw_input?具体来说,我想向用户显示一个提示,但还要监听套接字描述符(例如使用 select)并中断提示,输出一些内容,如果数据进入套接字,则重新显示提示。

使用 raw_input 而不是简单地在 sys.stdin 上执行 select 的原因是我想使用 readline 模块为提示符提供行编辑功能。

4

1 回答 1

2

据我所知......“有点”。

raw_input是阻塞的,所以我能想到的唯一方法是产生一个子进程/线程来检索输入,然后简单地与线程/子进程通信。这是一个非常肮脏的黑客(至少在我看来是这样),但它应该可以跨平台工作。当然,另一种选择是在 linux 上使用 curses 模块,或者在 windows上使用这个模块。

于 2010-07-02T20:35:54.817 回答