首页 > 编程 > Python > 正文

Python控制键盘鼠标pynput的详细用法

2019-11-25 13:22:45
字体:
来源:转载
供稿:网友

pynput这个库让你可以控制和监控输入设备。

对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:

  • pynput.mouse:包含控制和监控鼠标或者触摸板的类。
  • pynput.keyboard:包含控制和监控键盘的类。

地址:https://pypi.python.org/pypi/pynput

基本用法介绍:

from pynput.mouse import Button, Controllerimport time mouse = Controller()print(mouse.position)time.sleep(3)print('The current pointer position is {0}'.format(mouse.position))#set pointer positonmouse.position = (277, 645)print('now we have moved it to {0}'.format(mouse.position))#鼠标移动(x,y)个距离mouse.move(5, -5)print(mouse.position)mouse.press(Button.left)mouse.release(Button.left)#Double clickmouse.click(Button.left, 1)#scroll two steps downmouse.scroll(0, 500)

监控鼠标事件 :

from pynput import mousedef on_move(x, y ): print('Pointer moved to {o}'.format(  (x,y)))def on_click(x, y , button, pressed): print('{0} at {1}'.format('Pressed' if pressed else 'Released', (x, y))) if not pressed:  return Falsedef on_scroll(x, y ,dx, dy): print('scrolled {0} at {1}'.format(  'down' if dy < 0 else 'up',  (x, y)))while True: with mouse.Listener( no_move = on_move,on_click = on_click,on_scroll = on_scroll) as listener:  listener.join()

键盘输入用法:

from pynput.keyboard import Key, Controllerkeyboard = Controller()# 按下空格和释放空格#Press and release spacekeyboard.press(Key.space)keyboard.release(Key.space)# 按下a键和释放a键#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 Askeyboard.press('A')keyboard.release('A')# or with keyboard .pressed(Key.shift): keyboard.press('a') keyboard.release('a')#type 'hello world ' using the shortcut type methodkeyboard.type('hello world')

键盘监听:

from pynput import keyboarddef 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:  return Falsewhile True: with keyboard.Listener(  on_press = on_press,  on_release = on_release) as listener:  listener.join()

对于鼠标来说,api就上面几个。但是对于键盘来说还要别的,详细的查看:http://pythonhosted.org/pynput/index.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表