我试图用键盘输入UTF-8表情符号,但我总是遇到以下异常。 Pynput查看是否正确转换UTF-8符号,但无法将其键入
Traceback (most recent call last):
File "pasteEmoji.py", line 11, in <module>
keyboard.type('\U0001f61a')
File "/usr/local/lib/python3.7/dist-packages/pynput/keyboard/_base.py", line 468, in type
raise self.InvalidCharacterException(i, character)
pynput.keyboard._base.InvalidCharacterException: (0, '😚')
from pynput.keyboard import Key, Controller
import time
keyboard = Controller()
print("2 Seconds left...")
time.sleep(2)
keyboard.type('\U0001f61a')
有人知道如何打印UTF-8符号吗? 提前谢谢
不完全是你想要的解决方案,也许只是部分解决方案。但我发现xdool会发送这些字符。然而,Firefox(可能还有其他浏览器)似乎禁用了该功能
您可以这样实现它:
还有一个python库,它实现了名为libxdo的xdotool。但是它已经好几年没有更新了,我也没有测试它
如果我找到更好的解决方案,我会更新这个
编辑:我发现了一个非常黑客的解决方案,它可以工作,看起来相当快,并且可以在Firefox中工作。它需要启用CTRL+SHIFT+U unicode十六进制快捷键。可以通过按下这些按钮进行测试,如果u带下划线,则表示您很好
不漂亮,但对我来说效果不错
编辑2:最后一次编辑。我在pynput的github here上为这个问题重新提出了一个旧问题。并且创建了一个对我有效的修复,应该很快推送到主分支
相关问题 更多 >
编程相关推荐