调试Python curses程序

时间:2014-01-21 19:50:49

标签: python curses

我正在使用vi编辑器编写Python curses程序。想了解如何调试模块进行调试吗?

我可以使用任何工具吗?

1 个答案:

答案 0 :(得分:3)

要轻松调试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返回或异常时,包装器会自动清理屏幕并将其恢复为原始设置

来自wrapper docs

  

初始化curses并调用另一个可调用对象func,它应该是   是你的curses使用应用程序的其余部分。如果申请   引发异常,此功能将使终端恢复正常   在重新引发异常并生成回溯之前的状态。该   然后,可调用对象func作为其主窗口'stdscr'传递   第一个参数,后跟传递给wrapper()的任何其他参数。   在调用func之前,wrapper()打开cbreak模式,关闭echo,   启用终端键盘,并在终端时初始化颜色   有颜色支持。在退出时(无论是正常还是异常)它   恢复熟食模式,打开回声,并禁用终端键盘。