Pynput 在 pycharm 中无代码提示

今天在用 pynput 的 Listener 和 Controller 对象时,发现无代码提示,写起来非常不舒服。

下面举例解决这个问题。

pynput 文档给的一个关于键盘 Controller 的示例代码是:

from pynput.keyboard import Key, Controller

keyboard = Controller()

# Press and release space
keyboard.press(Key.space)
keyboard.release(Key.space)

# Type a lower case A; this will work even if no key on the
# physical keyboard is labelled 'A'
keyboard.press('a')
keyboard.release('a')

# Type two upper case As
keyboard.press('A')
keyboard.release('A')
with keyboard.pressed(Key.shift):
    keyboard.press('a')
    keyboard.release('a')

# Type 'Hello World' using the shortcut type method
keyboard.type('Hello World')

只需要将导包语句改写成(Windows 用户):

from pynput.keyboard._win32 import Controller, Key

就可以正常弹出代码提示。(例如 keyboard.press())

pycharm 无法弹出代码提示的原因是:pynput 的内部代码使用了一招“偷梁换柱”,欺骗了 pycharm对keyboard的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值