相关疑难解决方法(0)

Python从用户读取单个字符

有没有办法从用户输入读取一个单个字符?例如,他们在终端按一个键然后返回(有点像getch()).我知道Windows中有一个功能,但我想要一些跨平台的功能.

python input

242
推荐指数
14
解决办法
25万
查看次数

用于读取按键的Python方法?

我是Python的新手,我只是用Python创建了一个游戏和一个菜单.问题是,使用(raw_)input()要求我在每次按键后按Enter键,我想按下向下箭头将立即选择下一个菜单项,或者在游戏中向下移动.目前,它需要我喜欢键入"向下"然后按Enter键.我也做了很多研究,但我不想下载大型模块(例如pygame)来实现单个keyDown()方法.那么有什么更简单的方法,我找不到?

编辑: 刚刚发现可以解决这个问题msvcrt.getch().它不是keyDown(),但它有效.但是,我不知道如何使用它,这看起来很奇怪,这里有什么帮助吗?这就是我现在所得到的:

from msvcrt import getch
while True:
    key = getch()
    print(key)
Run Code Online (Sandbox Code Playgroud)

但是,它一直给我所有这些无意义的字节,例如,向下箭头是这样的:

b'\xe0'
b'P'
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用它们,我试图与chr()进行比较,甚至使用ord(),但不能真正进行任何比较.我想要做的基本上是这样的:

from msvcrt import getch
while True:
    key = getch()
    if key == escape:
        break
    elif key == downarrow:
        movedown()
    elif key == 'a':
        ...
Run Code Online (Sandbox Code Playgroud)

等等......有什么帮助吗?

python windows key getch keydown

44
推荐指数
2
解决办法
14万
查看次数

标签 统计

python ×2

getch ×1

input ×1

key ×1

keydown ×1

windows ×1