纯Python终端/控制台分页模块
项目描述
Python模块,将输出分页到屏幕,读取按键和控制台尺寸,而不执行外部实用工具。
它原本打算包含在标准库中 http://bugs.python.org/issue8408
演示
python -m pager <file> <command> | pager.py (Windows only - see issue #7) pager.py < <file> (Windows only) # run manual tests that are also a demo python -m pager --test
状态
- 3.3 (稳定)
修复关键问题 #6:3.2 在Linux上损坏,感谢Calvin Spealman (@ironfroggy) 报告
从stdin读取内容目前是Windows独有的功能(见问题 #7)
- 3.2(在Linux上损坏)
如果按下ESC或‘q’键,则终止分页
提示回调现在可以通过返回False来终止分页
- 3.1(在Linux上损坏)
支持管道输入(已在Windows上测试)
- 3.0(alpha) - getch()函数中的API中断
撤销了2.0中更改的getch()行为 - 现在getch()再次返回单个字符
为getch()键添加了带下划线的常量
添加了总是返回列表的新getchars()函数
- 2.2(稳定)
Linux:修复2.1版本中的回归 - _get_unix调用名称错误导致NameError(问题 #6,感谢Calvin Spealman 报告)
- 2.1(在Linux上损坏)
将getch()拆分为_getch_unix()和_getch_windows(),并在导入时检测正确的版本(加速)
- 2.0(稳定) - getch()函数中的API中断
getch() 现在始终返回字符列表(之前它可以返回单个字符)。这样做是为了简化从返回结果中检测键的任务
- 1.4(稳定版)
pager.py <文件名>
Linux: termios 注释、文档和对 getch() 函数中非常可能出现的 API 破裂的准备
- 1.3(稳定版)
Windows: Python 3 需要 getwch()
Windows: 修复 ENTER LEFT UP RIGHT DOWN ESC 键码
- 1.2(稳定版)
为 ENTER LEFT UP RIGHT DOWN ESC 键添加名称
对 getch() 进行手动测试(修复了编号为 #4 的错误)
dumpkey() 辅助函数,用于获取 getch() 返回值的十六进制转储
- 1.1(稳定版)
Python 3 兼容性
echo() 辅助函数用于无缓冲输出(在 Py3 中,输出不会立即显示在屏幕上,除非它以换行符结尾)
- 1.0(稳定版)
getch() 现在返回特殊键的字符列表(修复了编号为 #1 的错误,当特殊键跳过几页时)
page() 回调函数必须接收必填的 pagenumber 参数
默认的 page() 回调函数现在显示页码
- 0.2(稳定版)
在页面之间不插入空白行
- 0.1(稳定版)
逐页显示内容
允许获取控制台/终端的尺寸
在 Windows 上运行
在 Linux 上运行
API(输出)
..函数:: page(content, [pagecallback=prompt])
输出 content 可迭代对象,在每个页面后调用 pagecallback 函数,并将页码作为参数。如果 pagecallback 函数返回 False,则终止分页。
默认的 prompt() 回调函数显示页码,并带有“按任意键继续 …”提示,等待按键,如果按下“q”,ESC 或 Ctrl-C,则终止。
..函数:: echo(msg)
将 msg 打印到屏幕上,不换行,并刷新输出。
..函数:: getwidth()
返回可用窗口的字符宽度。如果检测失败,返回标准宽度 80 的值。一行中最后一个字符的坐标是从返回值中减去 -1。
..函数:: getheight()
返回可用窗口的高度(以字符为单位),或者在检测失败时返回 25。最后一行的坐标是从返回值中减去 -1。
API(输入)
..函数:: getch()
等待按键,返回生成的第一个字符。
箭头和特殊键生成字符序列。使用 getchars 函数接收所有生成的或存在于缓冲区中的字符。
..函数:: getchars()
等待按键。返回生成的字符列表。当按下箭头和特殊键时,结果列表中返回多个字符。返回的序列在不同平台上有所不同,因此请使用在此模块中定义的常量来猜测正确的键。
..函数:: dumpkey(key)
辅助函数,将 getch(字符串)或 getchars(列表)的结果转换为十六进制字符串。
致谢
参考文献
项目详情
pager-3.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 18aa45ec877dca732e599531c7b3b0b22ed6a4445febdf1bdf7da2761cca340d |
|
MD5 | fbebda4d8d537c8aa0de883d15b87b95 |
|
BLAKE2b-256 | 5fa195f8605e50c0ccc85ae53f63f5c4cb83b72f71fbd049a0e8259913e2cc22 |