Программа отладки Python curses

Я пишу программу Python curses с использованием редактора vi. Хотите понять, как отлаживать модуль для его отладки?

Есть ли инструменты, которые я могу использовать?

1 ответ

Решение

Чтобы легко отладить curses Программа, которую вы можете использовать curses.wrapper как это:

import curses
def make_me_an_error(screen, numerator, denominator):
    screen.addstr(0, 0, str(numerator/denominator)) # divide by zero

curses.wrapper(make_me_an_error, 1, 0)

По возвращении или исключении из make_me_an_error, обертка автоматически очищает экран и восстанавливает его первоначальные настройки

Из документов обертки:

Инициализируйте curses и вызовите другой вызываемый объект, func, который должен быть остальной частью вашего приложения, использующего curses. Если приложение вызывает исключение, эта функция восстановит терминал до нормального состояния, прежде чем повторно вызвать исключение и сгенерировать трассировку. Затем вызываемый объект func передается главному окну 'stdscr' в качестве первого аргумента, за которым следуют любые другие аргументы, передаваемые в wrapper(). Перед вызовом func wrapper () включает режим cbreak, отключает эхо, включает клавиатуру терминала и инициализирует цвета, если терминал поддерживает цвета. При выходе (как обычно, так и по исключению) он восстанавливает режим приготовления, включает эхо и отключает клавиатуру терминала.

Другие вопросы по тегам