Могу ли я использовать библиотеки Python curses и cmd вместе?

В Python я хотел бы написать терминальную программу, используя вместе cmd и curses, т.е. используйте cmd для приема и декодирования полных входных строк, но позиционируйте вывод с проклятиями.

Соединяя вместе примеры curses и cmd:

import curses 
import cmd

class HelloWorld(cmd.Cmd):
    """Simple command processor example."""

    def do_greet(self, line):
        screen.clear()
        screen.addstr(1,1,"hello "+line)
        screen.addstr(0,1,">")
        screen.refresh()

    def do_q(self, line):
        curses.endwin()
        return True

if __name__ == '__main__':
    screen = curses.initscr()   
    HelloWorld().cmdloop()

Я обнаружил, что ничего не вижу, когда печатаю. curses предположительно ожидает обновления, прежде чем отображать что-либо на экране. Я мог бы переключиться на использование getch (), но тогда я потерял бы значение cmd.

Есть ли способ заставить их работать вместе?

6
задан interstar 27 June 2012 в 11:40
поделиться