Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชันการควบคุมเทอร์มินัลใน Python


ในการเปลี่ยนการควบคุมเทอร์มินัลในระบบ Unix เราสามารถใช้วิธีการที่เกี่ยวข้องกับ tty ใน Python การใช้ tty โมดูล เราสามารถตั้งค่าสองโหมดที่แตกต่างกันของเทอร์มินัล ดิบ โหมดและ cbreak โหมด

ในการใช้โมดูล tty เราควรนำเข้าโดยใช้ −

import tty

มีบางโมดูลของโมดูล tty เหล่านี้คือ −

วิธีการ tty.setraw(fd เมื่อ =termios.TCSAFLUSH)

วิธีนี้ใช้เพื่อเปลี่ยนโหมดเทอร์มินัลเป็นโหมดดิบ ในโหมด raw เคอร์เซอร์จะย้ายไปยังบรรทัดใหม่ แต่ไม่มีการดำเนินการการขึ้นบรรทัดใหม่ อีกทั้งไม่ต้องกด Return กุญแจสำคัญในการส่งข้อมูลเข้าระบบจะส่งโดยอัตโนมัติหลังจากเขียน

วิธีการ tty.setcbreak(fd เมื่อ =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: @