【发布时间】:2020-07-19 12:16:24
【问题描述】:
我正在尝试在 MacOs 上使用 Python3 运行一个简单的键盘记录器。下面是脚本。
import pynput
from pynput.keyboard import Key, Listener
count = 0
keys = []
def on_press(Key):
global keys, count
print("hello")
keys.append(Key)
count += 1
print(f"{Key} pressed")
if count >= 10:
count = 0
write_file(keys)
keys = []
# hello this is a test for the keylogger.
def write_file(keys):
with open("logger.txt", "a") as f:
for key in keys:
f.write(str(key))
def on_release(Key):
if Key == Key.esc:
return False
with Listener(on_press= on_press, on_release = on_release) as listener:
listener.join()
代码显示在控制台上按下了哪个键,并且每隔一段时间,它会将按下的键存储在一个文件中。当我使用 sudo 运行脚本时,按下某些键时什么也没有发生。我没有被显示在控制台上按下了哪些键,并且文件也是空的。
我无法理解问题所在。我猜这与 MacOs 限制完全访问键盘有关。但我不确定。
请有人帮我解决这个问题。
【问题讨论】:
-
为什么要使用 sudo 运行键盘记录器?
-
因为当我通常使用 python3 filename.py 执行此操作时,我遇到了同样的问题。所以我想可能是由于管理员限制,让我们用 sudo 试试。但是没用。
-
this 有帮助吗?
-
是的,试过了。有用。所以,我需要添加终端和我的 IDE 才能工作。感谢您的帮助:)
-
不客气。这个问题被推荐为相对的:)
标签: python-3.x macos keylogger pynput