是否有一种简单的方法可以使Python读取用户输入,而不必在输入后单击Enter?我正在使用while循环制作一个简单的游标,并且不想每次我按下键来移动游标时都必须输入。我在Windows上使用PyCharm。
这是我目前正在尝试的操作,输入密钥时什么也没发生:
import msvcrt
running = True
pos = [0,0]
while running:
move = msvcrt.getch()
if move == "w":
pos[0] = (pos[0] + 1)
print(pos)
elif move == "d":
pos[1] = (pos[1] + 1)
print(pos)
elif move == "x":
break
答案 0 :(得分:1)
在Windows上,您可以使用msvcrt.getch()
方法:
import msvcrt
char = msvcrt.getch()
在UNIX上,您可以安装getch软件包并使用getch.getch()
方法:
import getch
char = getch.getch()
答案 1 :(得分:1)
您可以安装keyboard软件包并使用keyboard.on_press
方法来监听键盘按键事件:
import keyboard
import time
import sys
def on_press(event):
global pos
move = event.name
if move == "w":
pos[0] = (pos[0] + 1)
print(pos)
elif move == "d":
pos[1] = (pos[1] + 1)
print(pos)
elif move == "x":
sys.exit()
pos = [0,0]
keyboard.on_press(on_press, suppress=True)
while True:
time.sleep(1)