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 Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?