TTY模块的增强版本
term的Python项目详细描述
概述
term包是标准库的 tty模块。 它提供用于临时切换终端的上下文管理器 到raw或cbreak模式并允许检索光标位置 不用诅咒。
包装内容
- setraw(fd,when=tcsaflush,min=1,time=0)
- 将终端置于原始模式。
- 设置峰值(fd,when=tcsaflush,min=1,time=0)
- 将终端置于cbreak模式。
- rawmode(fd,when=tcsaflush,min=1,time=0)
- 将终端置于原始模式的上下文管理器。
- cbreakmode(fd,when=tcsaflush,min=1,time=0)
- 上下文管理器将终端置于cbreak模式。
- 打开tty(bufsize=1)
- 上下文管理器返回连接到/dev/tty的rw流。 如果无法打开设备,则流为“无”。
- getyx()
- 将光标位置返回为基于1的(行、列)元组。 如果无法打开设备或终端,则行和列为0 不支持DSR 6。
示例
要调整终端窗口的大小,我们进入cbreak模式并编写新的 TTY的尺寸:
from term import opentty, cbreakmode with opentty() as tty: if tty is not None: with cbreakmode(tty, min=0): tty.write(b'\033[8;25;80t'); print('terminal resized')
您还可以查看getyx()的source code。
警告
在任何函数和 可以使用上下文管理器。它们不是用来在 原始和CBREAK模式。允许嵌套相同类型的上下文管理器 不过。
文档
另请参见API Documentation。
更改日志
2.3-2019-02-08
- 添加manifest.in。 [斯特凡]
- 作为车轮松开。 [斯特凡]
- 删除显式gpl,因为psf许可证仍然与gpl兼容。 [斯特凡]
2.2-2017-02-05
- 支持Python2.6-3.6,不支持2to3。 [斯特凡]
2.1-2014年4月19日
- 从安装程序中删除setuptools需要,因为它不是。 [斯特凡]
2.0-2012年4月27日
- 在python 3下以二进制模式打开/dev/tty。 [斯特凡]
- 如果设备不可查看,请禁用缓冲。 [斯特凡]
- 删除getmaxyx,因为它不能可靠地实现。 [斯特凡]
- 支持Python2.5。 [斯特凡]
- 将许可证更改为GPL或PSF,以避免重新授权PSF代码。 [斯特凡]
1.0-2012年4月11日
- 初次发布。 [斯特凡]