PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。
创新互联公司专注于郊区网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供郊区营销型网站建设,郊区网站制作、郊区网页设计、郊区网站官网定制、小程序开发服务,打造郊区网络公司原创品牌,更为您提供郊区网站排名全网营销落地服务。
关于PyHook的使用,在它的官方主页上就有一个简单的教程,大体上来说,可以这样使用
23def onKeyboardEvent(event):
24 # 监听键盘事件
25 print "MessageName:", event.MessageName
26 print "Message:", event.Message
27 print "Time:", event.Time
28 print "Window:", event.Window
29 print "WindowName:", event.WindowName
30 print "Ascii:", event.Ascii, chr(event.Ascii)
31 print "Key:", event.Key
32 print "KeyID:", event.KeyID
33 print "ScanCode:", event.ScanCode
34 print "Extended:", event.Extended
35 print "Injected:", event.Injected
36 print "Alt", event.Alt
37 print "Transition", event.Transition
38 print "---"
39 # 同鼠标事件监听函数的返回值
40 return True
例子:
#!/usr/bin/python
# Filename: class_init.py
class Person:
def __init__(self, name):
self.name = name
def sayHi(self):
print Hello, my name is, self.name
p = Person(Swaroop)
p.sayHi()
这个例子中就是在init方法中定义了参数name,然后调用的时候直接用类名person带上传参swaroop就行了,swaroop参数就会传递给sayhi(),整个流程就对应c中的构造函数。
然后说钩子,其实就是实现一种内操作,有子进程的意思但又不是,至于装饰函数是不是钩子好像没官方说法,我认为可以算是。装饰器就是把一个函数对象返回给另一个函数来实现既定的功能,其实就是一种内操作。
PS:很多东西都是相关的,比如方法和它的具体实现功能,等你用到它的功能以后就很好理解了,单纯的研究理论也没什么意思。尤其是这种比较抽象的概念。
在python中:
0是False,大于0的数都是True,所以0和True一般是没有区别的;
fileinput的具体用法是:
fileinput.FileInput(files=None, inplace=False, backup='', bufsize=0, mode='r', openhook=None)
其中:
files :文件的路径列表;
inplace:是否将标准输出(print方法)的结果写回文件;
backup : 备份文件的扩展名;
bufsize :缓冲区大小;
mode :读写模式;
openhook : 打开文件时的钩子;
其他函数有:
for line in fileinput.input()
没带参数,将会循环处理sys.argv中的文件,如果sys.argv是空的,将处理标准输入
fileinput.filename()
返回正在阅读的文件名
fileinput.fileno()
返回正在阅读的文件号
fileinput.lineno()
返回正在阅读的行号
fileinput.isfirstline()
判端是否为第一行
fileinput.isstdin()
判端正在读的是否是标准输入
fileinput.nextfile()
读取下一个文件
fileinput.close()
关闭所有读入的文件
当前题目:python钩子函数 钩子函数有哪些
地址分享:https://www.cdcxhl.com/article40/hgohho.html
成都网站建设公司_创新互联,为您提供自适应网站、企业建站、建站公司、品牌网站建设、商城网站、网站导航
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联