首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PyCharm 3.4.X控制台中运行脚本时,msvcrt getch()没有发生任何问题

在PyCharm 3.4.X控制台中运行脚本时,msvcrt getch()没有发生任何问题
EN

Stack Overflow用户
提问于 2014-08-12 20:05:22
回答 1查看 5.1K关注 0票数 3

我有以下代码(在它自己的文件/ script/ program中):

代码语言:javascript
复制
from msvcrt import getch

while True:
    key = ord(getch())
    print('You pressed', key)

我在PyCharm的控制台中运行了它,并按下了各种键,字母键、数字键和箭头键,但根本没有输出。

有什么问题吗,还是需要我提供更多信息?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-08-12 22:02:12

听起来这可能是PyCharm控制台的一个问题。

对于操作系统,命令行控制台(cmd.exe)调用getch()并不总是那么简单。下面是我在自己的代码中使用的一些东西。还要注意评论中的链接。

代码语言:javascript
复制
# see http://msdn.microsoft.com/en-us/library/078sfkak
import msvcrt

def readch(echo=True):
    "Get a single character on Windows."
    while msvcrt.kbhit():  # clear out keyboard buffer
        ch = msvcrt.getch()
        if ch in '\x00\xe0':  # arrow or function key prefix?
            ch = msvcrt.getch()  # second call returns the actual key code
    ch = msvcrt.getch()
    if ch in '\x00\xe0':  # arrow or function key prefix?
        ch = msvcrt.getch()  # second call returns the actual key code
    if echo:
        msvcrt.putch(ch)
    return ch

注意:您可能不需要初始的while循环,这取决于您正在做什么。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25263853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档