【问题标题】:Raw input and printing simultaneously原始输入和打印同时进行
【发布时间】:2010-09-18 08:43:14
【问题描述】:

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

有什么方法可以同时让用户输入和打印?

【问题讨论】:

  • "它不会打印任何东西,并且会在用户按下回车后全部打印" 这就是您的操作系统的工作方式。你期待什么?

标签: python multithreading


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-22
    • 2023-02-09
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2022-12-02
    相关资源
    最近更新 更多