2
所以我有一個線程Python程序,它從用戶處獲取輸入並同時打印數據。問題是,當程序坐在raw_input()時,它不會打印任何內容,並會在用戶按下回車後打印出來。原始輸入和打印
有沒有辦法讓用戶輸入和打印在同一時間?
所以我有一個線程Python程序,它從用戶處獲取輸入並同時打印數據。問題是,當程序坐在raw_input()時,它不會打印任何內容,並會在用戶按下回車後打印出來。原始輸入和打印
有沒有辦法讓用戶輸入和打印在同一時間?
你有兩個選擇,基本上是:線程和異步IO。
您可以讓一個線程用輸入的數據填充隊列,並讓其他線程打印其內容。被警告線程很難(不可能?)做對。
異步IO意味着您有一個主調度程序,在數據可用時(即用戶輸入數據)調用回調。有一些框架可以爲你抽象大部分內容,比如asyncore和Twisted。
大多數GUI工具包還將通過它們的主循環實現異步調度系統,即.. Tkinter,wxWidgets和pygtk。這也將解決混合讀取和寫入同一個(終端)屏幕時遇到的界面問題。
「它不會打印任何內容,並會在用戶按下輸入後打印所有內容」這就是您的操作系統的工作方式。你期望什麼? – 2010-09-18 12:56:05