termios — POSIX 样式 tty 控件


该模块为 tty I/O 控制提供了 POSIX 调用的接口。有关这些调用的完整说明,请参见* termios(3) * Unix 手册页。它仅适用于支持在安装过程中配置的 POSIX * termios *样式 tty I/O 控制的 Unix 版本。

该模块中的所有函数都将文件 Descriptors* fd *作为其第一个参数。这可以是整数文件 Descriptors(例如sys.stdin.fileno()返回),也可以是file object(例如sys.stdin本身)。

该模块还定义了使用此处提供的Function所需的所有常量。它们与 C 中的名称相同。有关使用这些终端控制接口的更多信息,请参考系统文档。

该模块定义了以下Function:

See also

  • Module tty

  • 普通端子控制操作的便利Function。

Example

这是一个提示您 Importing 密码并关闭回显的Function。请注意,该技术使用单独的tcgetattr()调用和tryfinally语句来确保无论发生什么情况,都将完全恢复旧的 tty 属性:

def getpass(prompt="Password: "):
    import termios, sys
    fd = sys.stdin.fileno()
    old = termios.tcgetattr(fd)
    new = termios.tcgetattr(fd)
    new[3] = new[3] & ~termios.ECHO          # lflags
    try:
        termios.tcsetattr(fd, termios.TCSADRAIN, new)
        passwd = input(prompt)
    finally:
        termios.tcsetattr(fd, termios.TCSADRAIN, old)
    return passwd
首页