原始输入和打印同时进行

时间:2010-09-18 08:43:15

标签: python multithreading

所以我有一个线程Python程序,它接受用户的输入并同时打印数据。问题是,当程序位于raw_input()时,它不会打印任何内容,并会在用户按下回车后打印出来。

有没有办法让用户同时输入和打印?

1 个答案:

答案 0 :(得分:1)

您有两种选择,基本上是:线程和异步IO。

您可以让一个线程用输入的数据填充队列,让另一个线程打印其内容。请注意,线程很难(不可能?)做正确。

异步IO意味着您有一个主调度程序,可在数据可用时调用回调(即用户已输入数据)。有一些框架可以为您提取大部分内容,例如asyncore和Twisted。

大多数GUI工具包还将通过其主循环实现异步调度系统,即.. Tkinter,wxWidgets和pygtk。这也将解决混合读取和写入同一(终端)屏幕时的界面问题。