Python 中的终端控制函数


要更改 Unix 系统中的终端控件,我们可以使用 Python 中的 tty 相关方法。使用 tty 模块,我们可以设置终端的两种不同模式。原始模式和 cbreak 模式。

要使用 tty 模块,我们应该使用以下方法导入它 −

import tty

tty 模块有一些模块,它们是 −

方法 tty.setraw(fd, when = termios.TCSAFLUSH)

此方法用于将终端模式更改为原始模式。在原始模式中,光标移动到新行,但不会执行回车操作。此外,我们无需按 Return 键即可将输入发送到系统,它会在写入后自动发送。

方法 tty.setcbreak(fd, when = termios.TCSAFLUSH)

此方法用于将终端模式更改为 cbreak 模式。在此模式下,光标移动到新行,我们无需按 Return 键即可将输入发送到系统,它会在写入后自动发送。

示例代码

import sys
import tty
import termios
file_desc = sys.stdin.fileno()
old_setting = termios.tcgetattr(file_desc)
tty.setraw(sys.stdin)
for i in range(5):
   char = sys.stdin.read(1)
   print("Char: " + str(char))
termios.tcsetattr(file_desc, termios.TCSADRAIN, old_setting)

输出

$ python3 example.py
Char: K
   
   Char: E
      
      Char: 5
         
         Char: 2
            
            Char: @

更新于:2019 年 7 月 30 日

1K+ 浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告