tty --- 终端控制功能¶
Source code: Lib/tty.py
tty 模�定义了将 tty 放入 cbreak 和 raw 模�的函数。
�用性: Unix。
å› ä¸ºå®ƒéœ€è¦� termios 模å�—,所以å�ªèƒ½åœ¨ Unix 上è¿�行。
tty 模�定义了以下函数:
- tty.cfmakeraw(mode)¶
�作 tty 属性列表 mode,它是一个与
termios.tcgetattr()的返回值类似的列表,将其转æ�¢ä¸ºåŽŸå§‹æ¨¡å¼� tty 的属性列表。在 3.12 ç‰ˆæœ¬åŠ å…¥.
- tty.cfmakecbreak(mode)¶
�作 tty 属性列表 mode,它是一个与
termios.tcgetattr()的返回值类似的列表,将其转æ�¢ä¸º cbreak 模å¼�çš„ tty 的属性列表。这将清除 mode ä¸çš„
ECHOå’ŒICANON本地模å¼�æ——æ ‡å¹¶å°†æœ€å°�输入设为 1 å—èŠ‚ä¸”æ— å»¶è¿Ÿã€‚åœ¨ 3.12 ç‰ˆæœ¬åŠ å…¥.
在 3.12.2 版本�生�更:
ICRNLæ——æ ‡å°†ä¸�å†�被清除。 这与 Linux å’Œ macOS çš„stty cbreak行为以å�Šsetcbreak()在历å�²ä¸Šæ‰€å�šçš„相匹é…�。
- tty.setraw(fd, when=termios.TCSAFLUSH)¶
将文件�述符 fd 的模�改为 raw。 如果 when 被�略,它将默认为
termios.TCSAFLUSHï¼Œå¹¶å°†è¢«ä¼ ç»™termios.tcsetattr()。termios.tcgetattr()的返回值在将 fd 设为 raw 模å¼�å‰�会被ä¿�å˜ï¼›è¯¥å€¼å°†è¢«è¿”回。在 3.12 版本å�‘生å�˜æ›´: 现在返回值就是原本的 tty 属性 ,而ä¸�是 None。
- tty.setcbreak(fd, when=termios.TCSAFLUSH)¶
将文件�述符 fd 的模�改为 cbreak。 如果 when 被�略,它将默认为
termios.TCSAFLUSHï¼Œå¹¶å°†è¢«ä¼ ç»™termios.tcsetattr()。termios.tcgetattr()的返回值在将 fd 设为 cbreak 模å¼�å‰�会被ä¿�å˜ï¼›è¯¥å€¼å°†è¢«è¿”回。这将清除
ECHOå’ŒICANON本地模å¼�æ——æ ‡å¹¶å°†æœ€å°�输入设为 1 å—èŠ‚ä¸”æ— å»¶è¿Ÿã€‚åœ¨ 3.12 版本å�‘生å�˜æ›´: 现在返回值就是原本的 tty 属性 ,而ä¸�是 None。
在 3.12.2 版本�生�更:
ICRNLæ——æ ‡å°†ä¸�å†�被清除。 è¿™æ�¢å¤�了 Python 3.11 å�Šæ›´æ—©ç‰ˆæœ¬çš„行为并与 Linux, macOS å’ŒBSD 在它们的stty(1)指å�—页对于 cbreak 模å¼�çš„æ��述相匹é…�。
��
- 模�
termios 低级终端控制接�。