写一个类. 类里留个变量(fun2_tiime)记录函数2执行的时间戳.
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比北辰网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式北辰网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖北辰地区。费用合理售后完善,十载实体公司更值得信赖。
类里写个无限循环的函数, 不断比较 变量(fun2_tiime)当前时间差值, 如果差值大于20就执行函数2.
def write_log(username,operation):
'''
写日志函数
:param username:用户名
:param operation:用户的操作信息
:return:
'''
w_time = time.strftime('%Y-%m-%d %H%M%S')
with open('log.txt','a+') as fw:
log_content = '%s %s %s \n'%(w_time,username,operation)
fw.write(log_content)
希望对你有帮助!
pyhon的一个函数在执行I/O参数比如文件读写,socket正在等待数据时是不能干其他事情的,包括打日志。如果想让一个文件准备好读写了或者一个socket有数据可以直接接收时让操作系统通知程序的话,可以试试select库
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