2017-02-14 71 views
1

使用colorama可以使用curses嗎?這裏是我的代碼,它打印的轉義序列:用colorama使用curses

from curses import wrapper 
import colorama 

STYLE = colorama.Fore.GREEN + colorama.Back.BLUE 
TITLE = STYLE + 'Current terminal size:' 
HEIGHT_STRING = STYLE + 'Screen height: {}\n' 
WIDTH_STRING = STYLE + 'Screen width: {}\n' 
STR_LEN = 18 


def main(stdscr): 

    colorama.init() 
    stdscr.clear() 

    height, width = stdscr.getmaxyx() 
    y = height//2 - 2 
    x = width//2 - STR_LEN//2 

    stdscr.addstr(y - 2, x, TITLE) 
    stdscr.addstr(y, x, HEIGHT_STRING.format(height)) 
    stdscr.addstr(y + 1, x, WIDTH_STRING.format(width)) 

    stdscr.refresh() 
    stdscr.getkey(y + 2, x) 

if __name__ == '__main__': 
    wrapper(main) 

我知道詛咒不能在Windows上使用,只是想知道如果這是可能的

回答

2

鑑於colorama的描述,沒有(它使用硬編碼轉義序列),沒有其他形式的輸出方法。

根據Python documentation,UniCurses應該工作(在Windows上)。這是使用PDCurses。 ncurses本身適用於Windows,在MSYS2和Cygwin中有它的包。

+0

我想通了,謝謝你的細節。 – Anonimista