Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Melaksanakan Input Konsol Tidak Menyekat dalam Python?
Input Konsol Tanpa Sekat
Input konsol tanpa sekatan adalah penting dalam aplikasi yang memerlukan interaksi serentak dengan pengguna dan pemprosesan berterusan. Dalam kes ini, matlamatnya adalah untuk melaksanakan ciri ini untuk klien IRC Python.
Input Tidak menyekat pada Windows
Untuk sistem Windows, modul msvcrt menyediakan penyelesaian:
import msvcrt num = 0 done = False while not done: print(num) num += 1 if msvcrt.kbhit(): print("you pressed", msvcrt.getch(), "so now I will quit") done = True
Input tidak menyekat pada Linux
Pada Linux, modul pilih, tty, dan termios boleh digunakan:
import sys import select import tty import termios def isData(): return select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []) old_settings = termios.tcgetattr(sys.stdin) try: tty.setcbreak(sys.stdin.fileno()) i = 0 while 1: print(i) i += 1 if isData(): c = sys.stdin.read(1) if c == '\x1b': break finally: termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_settings)
Input Tanpa Sekat Merentas Platform
Untuk penyelesaian merentas platform atau untuk menyepadukan fungsi GUI, Pygame boleh digunakan:
import pygame from pygame.locals import * def display(str): text = font.render(str, True, (255, 255, 255), (159, 182, 205)) textRect = text.get_rect() textRect.centerx = screen.get_rect().centerx textRect.centery = screen.get_rect().centery screen.blit(text, textRect) pygame.display.update() pygame.init() screen = pygame.display.set_mode( (640,480) ) pygame.display.set_caption('Python numbers') screen.fill((159, 182, 205)) font = pygame.font.Font(None, 17) num = 0 done = False while not done: display(str(num)) num += 1 pygame.event.pump() keys = pygame.key.get_pressed() if keys[K_ESCAPE]: done = True
Dengan kaedah ini, anda boleh melaksanakan input konsol tidak menyekat dalam aplikasi Python anda, membenarkan pemprosesan berterusan sambil membalas input pengguna dalam masa nyata.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Input Konsol Tidak Menyekat dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!