当前位置: 首页 > 面试题库 >

如何使用msvcrt.getch提取和使用输入?

诸腾
2023-03-14
问题内容

我需要在python中创建一个程序/游戏,用户可以快速输入2个键(例如z或x键),每次按正确的顺序按下该键时,它们的角色就会向前移动。我已经做了大量研究,并决定我应该使用msvcrt.getch()接收输入,但是每当我尝试使用它时,它都会将输入存储为无法使用的字节,这对于编程我来说是一个新手,可以使用一些帮助解释该功能。


问题答案:

您需要将返回的值 解码 为一个str对象

msvcrt.getch().decode('ASCII')

例如,会将字节解释为ASCII码点。您可能需要使用不同的编码,具体取决于键盘的布局和语言环境,但是msvcrt.getch()根据文档,该API仅专门处理ASCII字符:

该模块同时实现了控制台I / O API的普通和宽字符变体。普通API仅处理ASCII字符,并且在国际化应用程序中用途有限。应尽可能使用Wide
char API。

您可能想msvcrt.getwch()代替直接获取Unicode值。该方法不仅支持ASCII码点,而且还支持。



 类似资料:
  • 问题内容: 我遇到一种情况(在硒测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全密码,然后才能继续操作。 我不太确定如何获得用户输入的值。我浏览了硒文档,并提出了这个建议。不幸的是,它并不是很有效。 有人可以指出我正确的方向吗? 问题答案: 似乎您必须先接受并关闭提示,然后才能存储和使用该值

  • 问题内容: 我有一种情况(在selenium测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全代码,然后才能继续操作。 我不太确定如何获得用户输入的值。我浏览了selenium文档,并提出了这个建议。不幸的是,它并不是很有效。 有人可以指出我正确的方向吗? 问题答案: 似乎您必须先接受并关闭提示,然后才能存储和使用该值

  • 问题内容: 我正在尝试使用JAXB解压我最初使用xjc创建的一些XML。我不想对解组进行任何验证,但是即使我已根据JAXB文档使用禁用了验证,但这并不能防止在尝试运行并找不到架构时引发验证。 通过将apache属性设置为,我已经看到了类似的问题,无法通过验证禁用SAX解析,但是我无法让Unmarshaller使用我自己的sax解析器。 问题答案: 以下是示例代码,演示了如何获取 JAXB(JSR-

  • 以下命令生成一个包含公钥和私钥的文件: 资料来源:这里 使用OpenSSL,私钥也包含公钥信息,因此公钥不需要单独生成 如何从私钥中提取公钥。pem文件? 谢谢

  • 我有一个HTML元素. 加载页面后,我可以使用从该元素获取文本。 但随后我点击这个元素并更改里面的文本(例如,改为“已编辑”)。DOM中没有任何变化,包括属性 的值(即仍然返回“initial”,并且DOM中的元素看起来像) 如何提取现在在浏览器中可见的值(即字符串“已编辑”)?我需要执行一些JavaScript或其他东西吗?

  • 问题内容: 我经常发现自己需要编写一些脚本,这些脚本必须以普通用户身份执行某些部分,而以超级用户身份执行其他部分。我知道在SO上有一个类似的问题,答案是两次运行相同的脚本并以sudo的身份执行,但这对我来说还不够。有时,在执行sudo操作后,我需要恢复为普通用户身份。 我已经在Ruby中编写了以下代码来做到这一点 不幸的是,如果用户输入了错误的密码,则使用该代码会使脚本崩溃。理想情况下,它应该使用