Có một số cách để kiểm tra xem phím ENTER có được nhấn hay không trong Python. Chúng tôi sẽ thảo luận về các phương pháp sau trong bài viết này
nội dung
- 1 Cách 1. Sử dụng hàm input[]
- 2 Cách 2. Sử dụng gói getkey
- 3 Phương pháp 3a. Sử dụng gói getch [chỉ dành cho người dùng Linux và macOS]
- 4 Phương pháp 3b. Sử dụng gói mvcrt trong Windows
- 5 Cách 4. Sử dụng gói pynput
- 6 Cách 5. Sử dụng gói bàn phím
Phương pháp 1. Sử dụng hàm input[]
Trong Python, hàm input[] cho phép đầu vào từ người dùng. Khi dấu nhắc đầu vào được bắt đầu, nó có thể được thoát bằng cách nhấn phím ENTER. Hàm input[] sẽ trả về giá trị do người dùng nhập vào và quá trình thực thi chương trình sẽ tiếp tục khi nhấn ENTER. Hãy xem một ví dụ
input1 = input["Press ENTER: "] # use raw_input in python2
if input1 == "":
# Captures situations where the input is just ENTER key
print["You pressed ENTER."]
else:
# If other characters are pressed before ENTER, it is captured here.
print[f"You typed '{input1}' before pressing ENTER."]
Đầu ra [lần thực hiện đầu tiên]
Press ENTER: You pressed ENTER.
Đầu ra [lần thực hiện thứ hai]
Press ENTER: Tomasz Decker You typed 'Tomasz Decker' before pressing ENTER.
Trong lần thực hiện đầu tiên, ENTER được nhấn trên dấu nhắc. Điều này nắm bắt những gì chúng tôi muốn. Mặt khác, lần thực hiện thứ hai cho thấy điều ngược lại. Các ký tự khác được nhập trước khi nhấn ENTER
Phương pháp 2. Sử dụng gói getkey
Mô-đun getkey được sử dụng để đọc các lần nhấn phím đơn. Trong ví dụ sau, chúng tôi sử dụng gói để đọc các phím được nhấn và thoát khỏi vòng lặp while khi nhấn phím ENTER. Gói có thể được cài đặt bằng pip với lệnh sau
python3 -m pip3 cài đặt getkey
# "pip install getkey" if getkey is not installed
from getkey import getkey, key
while True:
# Get the pressed key
var = getkey[]
# Print the pressed key
print[var]
if var == key.ENTER:
# If the ENTER key is pressed, break the While loop.
print["You pressed enter"]
break
Phương pháp 3a. Sử dụng gói getch [chỉ dành cho người dùng Linux và macOS]
Python getch module also fetches keystrokes from the keyboard. The following code shows how getch reads the pressed key and the loop breaks once ENTER key is pressed. As shown by the output of repr[], the package captures ENTER with a new line character [“\n”].
Nếu getch chưa được cài đặt, bạn có thể cài đặt nó bằng pip bằng cách chạy lệnh sau trên thiết bị đầu cuối
python3 -m pip cài đặt getch
from getch import getch
while True:
char = getch[]
# print char that was pressed
# for ENTER character nothing is displayed so we need to use repr[] function
print[char]
# repr[char] returns a printable representation of "char"
# ENTER has a printable value "\n" [newline character]
print[repr[char]]
if char == "\n":
# This captures "ENTER"
break
Phương pháp 3b. Sử dụng gói mvcrt trong Windows
Không giống như getch được sử dụng trong Linux, mvcrt. getch[] đọc phím ENTER dưới dạng ký tự xuống dòng [“\r”]. mvcrt. getch[] tìm nạp phím được nhấn ở định dạng byte; . Việc thực thi vòng lặp while trong đoạn mã bên dưới sẽ bị ngắt khi nhấn phím ENTER
import msvcrt
while True:
char = msvcrt.getch[].decode["utf-8"]
print[char]
# show printable representation of "char"
# ENTER key is represented as "\r", the carriage return.
print[repr[char]]
if char == "\r":
break
Phương pháp 4. Sử dụng gói pynput
Gói pynput Python sẽ được sử dụng trong phương pháp này để phát hiện bất kỳ lần nhấn phím nào. Có thể tìm thấy các lớp quản lý và giám sát bàn phím trong “pynput. bàn phím. Nó sử dụng pynput. bàn phím. phương pháp người nghe. Việc dừng Trình nghe có thể được thực hiện ở bất kỳ đâu hoặc bằng cách trả về Sai từ một cuộc gọi lại [như trong ví dụ sau]. Cuộc gọi lại [hiển thị] trả về Sai khi nhấn phím ENTER, dừng Trình nghe
Bạn có thể cài đặt pynput bằng cách chạy lệnh sau
python3 -m pip cài đặt pynput
# "python3 -m pip install pynput" if pynput is not installed.
from pynput.keyboard import Key, Listener
def show[key]:
# Print pressed key
print["\nYou Entered {}".format[key]]
if key == Key.enter:
# Release/ Stop listener if ENTER key is pressed
return False
# Collect all events until released
with Listener[on_press=show] as listener:
listener.join[]
Phương pháp 5. Sử dụng gói bàn phím
Gói bàn phím không có sẵn trong Python nhưng có thể được cài đặt bằng pip. Ngoài ra, bạn cần phải là người dùng root để cài đặt và sử dụng bàn phím trong Linux và macOS. Vì lý do đó, chúng ta cần gọi sudo khi cài đặt gói
Sudo pip3 cài đặt bàn phím
Đối với Windows, bạn có thể cài đặt và sử dụng gói bàn phím bình thường. Sử dụng lệnh sau trên Command Prompt hoặc Windows Powershell để cài đặt gói. “bàn phím gỡ cài đặt python3 -m pip”
Tập tin. nhấn_enter3. py
import keyboard
while True:
# Print pressed keys
print[keyboard.read_key[]]
if keyboard.is_pressed["enter"]:
# Break if ENTER key is pressed
print["You pressed Enter"]
break
Mã cũng phải được thực thi với các đặc quyền sudo. Ví dụ, để chạy press_enter3. py chứa đoạn mã trên, hãy chạy lệnh sau trên thiết bị đầu cuối