做到这一点,这样您就不必在输入后点击“ Enter”-Python

时间:2018-10-09 01:33:54

标签: python python-3.x

是否有一种简单的方法可以使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

2 个答案:

答案 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)