python-3.x - 如何在一行中使用 getch() 打印?
问题描述
我在 python3 中遇到问题。当我按下键盘上的“a”按钮时,我只想在一行中打印“#”,但是当我按下例如 10 次“a”时使用此代码,不会出现“#”,但是当我按下“q”按钮时,所有的“#”都会出现。为什么会这样?此外,在打印功能中,它向我显示了错误的 -> end=" " 代码:
import getch
while True:
char = getch.getch()
if(char == 'a'):
print('#', end=" ")
elif(char == "q"):
break
解决方案
对于 Python 3,print可以采用可选的 flush 参数,其中流被强制刷新。
print('#', sep=' ', end='', flush=True)
推荐阅读
- android - java.lang.IllegalArgumentException:找不到改造注释。(参数#4)
- django - 列表对象在 drf 中没有属性模型
- android-studio - 在颤振行中不显示任何内容
- android - androdroiP 上的 vts 错误:TestInvocation: Unexpected exception when running invocation: java.lang.RuntimeException: Failed to get device information
- gherkin - Cucumber Java 中的参数化场景名称
- oop - 每个操作上下文的不同不变量
- java - 如何使用 docker-compose 在多代理集群模式下启动 kafka?
- c# - 嵌套的 yield 返回集合而不是字符串
- android-studio - 这是运行项目时的错误显示(我禁用了离线模式)并使用 gradle 3.6.1 或 3.3.2 但显示这是问题
- chef-infra - 在配方中安装包时强制用户输入是