1
我用curses創建了一個簡單的gui。但是,當curses菜單完成後,打印功能不會將任何內容打印到屏幕上,直到主程序退出。python打印使用curses後無法正常運行
在下面的例子中,當calc.py運行時,在foo(calcDirs)運行後,文本「Directory list ok」被打印到屏幕上。如果我註釋掉線條folderSelection.menu(dirs)
,則文字將按照正常情況打印到屏幕上。有任何想法嗎?我使用Python 2.5
calc.py:
import folderSelection
[...]
calcDirs=folderSelection.menu(dirs)
print "Directory list ok"
foo(calcDirs)
folderSelection.py:
import curses
def menu(folders):
global scr
scr = curses.initscr()
curses.noecho() # Do not echo keypresses
curses.cbreak() # No enter required
scr.keypad(1) # Support keypad
curses.curs_set(0) # Do not show the cursor
# Do some calculations
[...]
exitCurses()
return calcDirs
def exitCurses():
global scr
curses.nocbreak()
curses.curs_set(1)
scr.keypad(0)
curses.echo()
curses.endwin()
編輯:看來,文字一定延遲,直到程序終止。它可能會延遲30-40秒。
非常感謝!這確實解決了這個問題。 – Pe2 2010-09-14 06:52:40