задержка addstr в Python Curses

Я работаю над ИИ и использую Curses, и я хотел бы иметь возможность добавить сообщение, подождать пять секунд, а затем нарисовать другое сообщение.

Ниже часть, которую я пытаюсь исправить

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import curses
import time

screen = curses.initscr()
curses.noecho()
curses.curs_set(0)
screen.keypad(1)

screen.addstr("This is a Sample Curses Script\n\n")
screen.addstr("This is a Sample Curses Script\n\n")
time.sleep(5)
screen.addstr("This is a Sample Curses Script\n\n")
while True:
   event = screen.getch()
   if event == ord("q"): break

curses.endwin()

person Sean Downey    schedule 10.06.2015    source источник
comment
@PadraicCunningham выводит сообщение на экран   -  person Sean Downey    schedule 10.06.2015
comment
да, но из какой библиотеки?   -  person Padraic Cunningham    schedule 10.06.2015
comment
@PadraicCunningham обновил вопрос функцией рисования   -  person Sean Downey    schedule 10.06.2015
comment
@SeanDowney Должно быть что-то вроде import ...   -  person gustafbstrom    schedule 10.06.2015
comment
@gustafbstrom Исправлен код выше, не могли бы вы посмотреть?   -  person Sean Downey    schedule 10.06.2015


Ответы (1)


Из официального руководства:

После того, как вы поместили в окно то, что вы хотите, когда вы хотите, чтобы часть терминала, закрытая окном, выглядела так, вы должны вызвать Refresh().

Таким образом, измените свой код как таковой:

import curses
import time

screen = curses.initscr()
curses.noecho()
curses.curs_set(0)
screen.keypad(1)

screen.addstr("This is a Sample Curses Script\n\n")
screen.addstr("This is a Sample Curses Script\n\n")
screen.refresh()
time.sleep(5)
screen.addstr("This is a Sample Curses Script\n\n")
screen.refresh()
while True:
    event = screen.getch()
    if event == ord("q"): break

curses.endwin()
person gustafbstrom    schedule 10.06.2015