python - 按住某个键时如何继续打印字符串
问题描述
import keyboard
while True:
if keyboard.is_pressed('b'):
print('a')
break
这是我按 b 时打印的代码。但我希望它在我持有 b 时继续打印 a 我该怎么做。
解决方案
我主要将此模块pynput
用于鼠标事件,但它也处理键盘事件。
这是链接: https ://pypi.org/project/pynput/
该库允许您控制和监视输入设备。目前,支持鼠标和键盘输入和监控。
页面中间的键盘说明:
from pynput.keyboard import Key, Controller
keyboard = Controller()
或更恰当地使用pynput.keyboard.Listener
如下:
from pynput import keyboard
下面的代码检测多个输入。您必须针对原始问题中给出的示例a
对其进行修改。b
from pynput import keyboard
def on_press(key):
try:
print('alphanumeric key {0} pressed'.format(
key.char))
except AttributeError:
print('special key {0} pressed'.format(
key))
def on_release(key):
print('{0} released'.format(
key))
if key == keyboard.Key.esc:
# Stop listener
return False
# Collect events until released
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
# ...or, in a non-blocking fashion:
listener = keyboard.Listener(
on_press=on_press,
on_release=on_release)
listener.start()
谢谢你。
推荐阅读
- go - 如何访问 proto.EnumValueOptions 扩展值
- python - Python中其他字典值函数的最大键
- r - R中的感知器算法,该过程卡在第一个时期
- python - 在将点添加到节点之前是否预先制作了二元分区树?
- javascript - 滚动并向后滚动后,使计数器上的动画自行重复
- ios - 在不移动 ViewController 的情况下将数据推送到另一个 ViewController
- scala - 如何从列表中获取特定项目?
- python - 运行使用 pyinstaller 创建的 exe 时如何使“Kivy”用户界面持续存在
- bash - 在 sed 中替换 env var
- css - 子菜单在主菜单元素悬停时显示内容