Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Các hàm điều khiển Terminal (Terminal Control) trong Python

Để thay đổi điều khiển terminal trong hệ thống Unix, ta có thể dùng các phương thức liên quan tty trong Python. Sử dụng module tty, ta có thể thiết lập hai chế độ khác nhau của terminal: chế độ raw (thô) và chế độ cbreak.

Để dùng module tty, nên nhập bằng:

import tty

Một số phương thức của module tty:

Phương thức tty.setraw(fd, when = termios.TCSAFLUSH)

Thay đổi chế độ terminal sang raw mode. Ở raw mode, con trỏ di chuyển xuống dòng mới nhưng không thực hiện thao tác carriage return (quay đầu dòng). Cũng không cần nhấn phím Return (Enter) để gửi đầu vào vào hệ thống, nó tự động gửi sau khi gõ.

Phương thức tty.setcbreak(fd, when = termios.TCSAFLUSH)

Thay đổi chế độ terminal sang cbreak mode. Ở chế độ này, con trỏ di chuyển xuống dòng mới, không cần nhấn Return để gửi đầu vào, tự động gửi sau khi gõ.

Mã ví dụ

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("Ký tự: " + str(char))

termios.tcsetattr(file_desc, termios.TCSADRAIN, old_setting)

Kết quả

$ python3 example.py
Ký tự: K
Ký tự: E
Ký tự: 5
Ký tự: 2
Ký tự: @