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: @
广告