这篇文章主要介绍了Python控制键盘鼠标pynput的详细用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
pynput这个库让你可以控制和监控输入设备。
对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:
pynput.mouse:包含控制和监控鼠标或者触摸板的类。
pynput.keyboard:包含控制和监控键盘的类。
地址:https://pypi.python.org/pypi/pynput
基本用法介绍:
from pynput.mouse import Button, Controller import time mouse = Controller() print(mouse.position) time.sleep(3) print('The current pointer position is {0}'.format(mouse.position)) #set pointer positon mouse.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 click mouse.click(Button.left, 1) #scroll two steps down mouse.scroll(0, 500)
监控鼠标事件 :
from pynput import mouse def 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 False def on_scroll(x, y ,dx, dy): print('scrolled {0} at {1}'.format( 'down' if dy
from pynput.keyboard import Key, Controller keyboard = Controller() # 按下空格和释放空格 #Press and release space keyboard.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 As keyboard.press('A') keyboard.release('A') # or with keyboard .pressed(Key.shift): keyboard.press('a') keyboard.release('a') #type 'hello world ' using the shortcut type method keyboard.type('hello world')
键盘监听:
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: return False while True: with keyboard.Listener( on_press = on_press, on_release = on_release) as listener: listener.join()
对于鼠标来说,api就上面几个。但是对于键盘来说还要别的,详细的查看:http://pythonhosted.org/pynput/index.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。