blessed:Python终端应用开发工具
blessed 在 GitHub 上已经拿到 1,477 Star。
这是一个 Python 库,专门简化终端应用开发。它提供颜色、键盘输入和屏幕定位功能,接口设计简洁,文档丰富。

1、 这玩意儿是干嘛的
就一件事:让 Python 开发者轻松做终端应用。
不管是给 CLI 工具加颜色,还是做全屏应用甚至游戏,blessed 都能快速上手。它支持 Windows、Mac、Linux 和 BSD 系统,能处理键盘输入、屏幕定位、颜色样式等终端常见需求。
只需导入 Terminal 类,就能调用所有功能。比如清除屏幕、移动光标、设置文字样式、读取键盘输入等。

2、 为什么要用它
用过 curses 模块的人都懂那种痛苦。原生 curses 接口繁琐,需要处理终端类型、能力检测、光标定位等底层细节。不同系统还有兼容性问题,写出来的代码复杂难维护。
blessed 把这些复杂度都封装起来了。不用再调用 tigetstr、tparm 等底层函数,不用处理终端类型判断,不用自己计算屏幕坐标。所有功能都通过一个 Terminal 对象调用,接口统一且直观。
比如要在屏幕底部打印下划线文字,原生 curses 需要几十行代码,而用 blessed 只需几行。它还自动处理输出重定向到文件的情况,不会在非终端环境下输出特殊序列。
3、 支持哪些功能
blessed 提供的核心功能包括:
- 文字样式:加粗、下划线、闪烁、隐藏等
- 颜色支持:16色、256色和24位真彩色,支持按X11颜色名称调用
- 屏幕定位:移动光标、获取光标位置、设置输出位置
- 键盘输入:支持普通按键、功能键、方向键,支持定时输入
- 终端信息:获取终端尺寸、检测终端能力
- 文本处理:计算带特殊序列的文本长度、自动换行、居中对齐等
这些功能覆盖了大多数终端应用场景,从简单的 CLI 美化到复杂的终端游戏都能胜任。
4、 安装使用教程
安装:
pip install blessed
基本使用:
from blessed import Terminal
term = Terminal()
# 清屏并将光标移到屏幕中间
print(term.home + term.clear + term.move_y(term.height // 2))
print(term.black_on_darkkhaki(term.center('press any key to continue.')))
# 读取键盘输入
with term.cbreak(), term.hidden_cursor():
inp = term.inkey()
print(term.move_down(2) + 'You pressed ' + term.bold(repr(inp)))
这段代码会清屏,在屏幕中间显示提示文字,等待用户按键后显示按下的键。
5、 适合哪些人用
- 想给 CLI 工具添加颜色和样式的开发者
- 需要开发全屏终端应用的开发者
- 想做终端游戏或交互式工具的 Python 爱好者
- 觉得 curses 太难用,想找替代方案的开发者
blessed 降低了终端应用开发门槛,让开发者能专注于功能实现,而不是底层终端细节。文档齐全,有很多示例代码,新手也能快速上手。
如果经常需要和终端打交道,blessed 会是个实用的工具。它能帮你写出更美观、更交互性的终端应用,同时保持代码简洁易维护。
码,新手也能快速上手。
如果经常需要和终端打交道,blessed 会是个实用的工具。它能帮你写出更美观、更交互性的终端应用,同时保持代码简洁易维护。

949

被折叠的 条评论
为什么被折叠?



