Skip to main content

与终端相关的功能。

项目描述

与终端相关的功能。

最新版本 20210316

  • ttysize:提前丢弃 Popen 对象。
  • ttysize:使用后关闭 Popen.stdout。似乎泄漏。

功能modify_termios(fd=0, set_modes=None, clear_modes=None, strict=False)

将模式更改应用于 tty。如果更改无法应用,则termios.tcgetattr 返回以前的 tty 模式。None如果strict,则引发异常而不是返回None

参数:

  • fd: 可选的 tty 文件描述符,默认0.
  • set_modes:属性名称到要设置的值的新值的可选映射
  • clear_modes:属性名称到新值的可选映射,以便清除值
  • strict:可选标志,默认值Falsetcgetattr如果为真,则从失败中引发异常,tcsetattr否则如果 errno 不是,则调用发出警告ENOTTY并继续。这旨在在默认情况下提供在批处理模式下的易用性,同时在需要时提供一种公开失败的模式。

属性名称来自 iflag, oflag, cflag, lflag, ispeed, ospeed, cc, 对应于termios.tcgetattr 调用定义的列表条目。

对于set_modes, 属性ispeed,ospeedcc 直接应用;其他属性与现有模式进行二元或运算。

对于clear_modes, 属性ispeed,ospeedcc 不能清除;其他属性是从现有模式中删除的二进制文件。

例如,在某些操作期间关闭终端回显:

old_modes = apply_termios(clear_modes={'lflag': termios.ECHO}):
    ... do something with tty echo disabled ...
if old_modes:
    termios.tcsetattr(fd, termios.TCSANOW, old_modes)

功能setupterm(*args)

运行 curses.setupterm,需要能够使用状态行。使用全局标志来避免这样做两次。

功能stack_termios(fd=0, set_modes=None, clear_modes=None, strict=False)

上下文管理器应用和恢复对 tty 的更改。产生以前的 tty 模式,termios.tcgetattr 或者None如果无法应用更改。如果strict,则引发异常而不是屈服None

参数:

  • fd: 可选的 tty 文件描述符,默认0.
  • set_modes:属性名称到要设置的值的新值的可选映射
  • clear_modes:属性名称到新值的可选映射,以便清除值
  • strict:可选标志,默认值Falsetcgetattr如果为真,则从失败中引发异常,tcsetattr否则如果 errno 不是,则调用发出警告ENOTTY并继续。这旨在在默认情况下提供在批处理模式下的易用性,同时在需要时提供一种公开失败的模式。

属性名称来自 iflag, oflag, cflag, lflag, ispeed, ospeed, cc, 对应于termios.tcgetattr 调用定义的列表条目。

对于set_modes, 属性ispeed,ospeedcc 直接应用;其他属性与现有模式进行二元或运算。

对于clear_modes, 属性ispeed,ospeedcc 不能清除;其他属性是从现有模式中删除的二进制文件。

例如,在某些操作期间关闭终端回显:

with stack_termios(clear_modes={'lflag': termios.ECHO}):
    ... do something with tty echo disabled ...

功能status(msg, *args, **kwargs)

将消息写入终端的状态行。

参数:

  • msg: 消息字符串
  • args: 如果不为空,则消息为 %-formattedargs
  • file:指定输出文件的可选关键字参数。默认值:sys.stderr

技巧:如果没有状态行,请使用 xterm 标题栏序列 :-(

功能statusline(text, fd=None, reverse=False, xpos=None, ypos=None)

更新状态行。

功能statusline_bs(text, reverse=False, xpos=None, ypos=None)

返回一个字节字符串以更新状态行。

功能ttysize(fd)

返回指定文件描述符的(行,列)元组。

如果无法确定窗口大小,则将为行和列中的一个或两个返回 None。

此功能依赖于 UNIXstty命令。

班级WinSize(builtins.tuple)

WinSize(行、列)

财产WinSize.columns

字段编号 1 的别名

财产WinSize.rows

字段编号 0 的别名

发布日志

发布 20210316

  • ttysize:提前丢弃 Popen 对象。
  • ttysize:使用后关闭 Popen.stdout。似乎泄漏。

发布 20201102:新的 modify_termios 和 stack_termios 应用(和恢复)termios 模式。

发布 20200521

  • 从 cs.logutils 中拖入新的 status() 函数,它使用 cs.upd 来表示 status()——需要进行一些重构以与 cs.tty 中的其他函数匹配——文本与字节、stdout 与 stderr 等。
  • 从 cs.gimmicks 获取 warning()。

发布 20190101:setupterm 的小错误修复。

发布 20170903:添加 statusline 和 statusline_s 功能;ttysize:支持 BSD stty 输出格式

发布 20160828:在 DISTINFO 中使用“install_requires”而不是“requires”,添加 PyPI 类别。

版本 20150116:初始 PyPI 版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

cs.tty-20210316.tar.gz (6.6 kB 查看哈希

已上传 source