WEB开发网
开发学院软件开发Python 可爱的 Python:Curses 编程 阅读

可爱的 Python:Curses 编程

 2007-03-29 11:59:25 来源:WEB开发网   
核心提示: 封装 curses 应用程序curses 编程的基本元素是窗口对象,窗口是带有一个可寻址光标的实际物理屏幕的区域,可爱的 Python:Curses 编程(3),光标的坐标与窗口相关,可以到处移动窗口,如果程序出错,将不会以正常方式显示 Python 追溯事件,并且可以创建和删除窗口而不影

封装 curses 应用程序

curses 编程的基本元素是窗口对象。窗口是带有一个可寻址光标的实际物理屏幕的区域,光标的坐标与窗口相关。可以到处移动窗口,并且可以创建和删除窗口而不影响其它窗口。在窗口对象中,输入或输出操作发生在光标上,这通常由输入或输出方法明确设置,但也可以分别修改。

在初始化 curses 之后,可以用各种方式修改或完全禁用面向流的控制台输入和输出。这基本上就是使用 curses 的全部重点。可是一旦更改了流式控制台交互,如果程序出错,将不会以正常方式显示 Python 追溯事件。Andrew Kuchling 使用一个很好的 curses 程序顶级框架解决了这个问题(请参阅 参考资料中他的教程)。

以下模板(基本上与 Kuchling 的相同)保留在正常命令行 Python 的错误报告功能:

Python [curses] 程序的顶层设置代码     import
     curses, traceback
    
     if
     __name__==
    '__main__':
    
     try
    :
  
    # Initialize curses
  stdscr=curses.initscr()
  
    # Turn off echoing of keys, and enter cbreak mode,
     # where no buffering is performed on keyboard input
  curses.noecho()
  curses.cbreak()
  
    # In keypad mode, escape sequences for special keys
     # (like the cursor keys) will be interpreted and
     # a special value like curses.KEY_LEFT will be returned
  stdscr.keypad(1)
  main(stdscr)
    # Enter the main loop
     # Set everything back to normal
  stdscr.keypad(0)
  curses.echo()
  curses.nocbreak()
  curses.endwin()
    # Terminate curses
    
    
     except
    :
  
    # In event of error, restore terminal to sane state.
  stdscr.keypad(0)
  curses.echo()
  curses.nocbreak()
  curses.endwin()
  traceback.print_exc()
    # Print the exception

上一页  1 2 3 4 5 6 7  下一页

Tags:可爱 Python Curses

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接