curses安装
curses包实际上是一个函数开发包,专门用来进行UNIX终端环境下的屏幕界面处理以及I/O处理。通常linux系统会自带这个包,而window需要自己装。
import curses
stdscr = curses.initscr()
你的终端如果第一次用curses的话,即使这样一个简单的程序也会报错:
_curses.error: setupterm: could not find terminal
Process finished with exit code 1
这是因为没有设置环境变量TERMINFO和TEAM:
export TERM=linux
export TERMINFO=/etc/terminfo
如果你的终端没有/etc/terminfo, 那么就新建一个,然后下载这个链接的数据库,拷贝进去就可以啦。
terminfo数据库包含了所有终端的描述信息。它保证了curses的可移植性,使得curses不需要进行任何改动就可以在不同的终端上运行。
===============================================================================================
语法
1. 在任何代码执行前都要先初始化curses,初始化操作就是调用initscr()函数。这个函数根据不同设备 返回一个window对象通常叫做stdscr。
import curses
stdscr = curses.stdscr()
2. 调用endwin()恢复默认设置
curses.endwin()
3. 使用curses时通常需要关闭屏幕回显,目的是读取字符仅在适当的环境下输出。
curses.noecho()
4. 应用程序一般是立即相应的,即不需要回车就立刻响应,这种模式叫cbreak
curses.cbreak()
5. 应用程序只在回车之后才发生终端反应
curses.nocbreak
6. 显示文字属性: y,x 是位置,str是显示的信息,colorpair是属性
curses.addstr(y,x,str,colorpair=2)