TTY模块的增强版本

term的Python项目详细描述


概述

term包是标准库的 tty模块。 它提供用于临时切换终端的上下文管理器 到rawcbreak模式并允许检索光标位置 不用诅咒。

包装内容

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日

  • 初次发布。 [斯特凡]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Int值传递给另一个类   在使用Sdin(或非交互式)输入| Java时调试奇怪的输入错误   java返回一个文本字符串作为响应struts2   java为什么我们不能在声明局部变量之前初始化它呢?   java从现有XML中读取值并将其填充到Json中   java Spring Boot+Maven:找不到repositoryFactoryBean   java使用regex表示“W o.Rd”。replaceAll(“单词”、“替换”)   java Sub resorce在Jersey REST API框架中不起作用   java在组件启动时,当所述报告存储在Sharepoint中时,是否可以加载预格式化的WebDataRocks报告?   java并发更新列表的最佳方法   servlets Java web应用程序对象调度   应用程序在点击按钮时崩溃,Android Studio(Java)   java如何为掷骰子游戏调用另一个类中的方法?