我希望之前的话题没有讨论过这个问题。我的搜索结果没有返回任何相关内容,但请随时赐教!
我正在编写一个非常基本的 Python 键盘记录器(用于更大项目的一部分)。我正在使用 pynput 来监听击键,并使用日志记录模块将它们写入 txt 文件(见下文)。到目前为止,它似乎可以正常工作,唯一的问题是它只会记录 shift、command、space 和 caps locks 键。不会记录所有其他击键,即字母、数字等。
我正在运行 OSX 10.12 (Sierra),Python 3.5.2。
任何关于为什么会这样(以及可能的解决方案)的建议/想法将不胜感激。
谢谢。
from pynput.keyboard import Key, Listener
import logging
log_dir = ""
logging.basicConfig(filename=(log_dir + 'key_log.txt'), level=logging.DEBUG, format='%(asctime)s: %(message)s')
def on_press(key):
logging.info(str(key))
with Listener(on_press=on_press) as listener:
listener.join()
最佳答案
单个字符键和其他键的处理方式不同。为你的 on_press 函数试试这个:
def on_press(key):
try: logging.info(key.char) # letters, numbers etc
except: logging.info(key.name) # other keys
关于python - Pynput 键盘记录器仅返回 Shift、Command、空格和 Capslock 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603000/