聊天机器人的Python角色常量

时间:2018-03-09 10:12:52

标签: python unicode constants

我目前正在python中编写聊天机器人,我希望能够输入像表情符号等特殊字符。我的第一次尝试只是将文字字符放在代码中。

add_reaction('🇦')

不幸的是,没有多少编辑支持这些角色,所以它们看起来大多是随机的乱码。为了便于阅读,这也不是很好。

为了解决我使用chr(charcode:{int})的乱码问题,这也使他们更多地复制粘贴保存。

然后我将所有这些文件放到一个单独的文件special_chars.py中,这样我就可以给角色命名

thumbs_up = chr(...)
smiley_face = chr(...)
regional_a_z = [chr(127462+i) for i in range(0,25)]
...

然而,这个文件开始变得非常快很长。

那么有更好的方法吗?

要记住的事情:

  • 如果长文件不可避免,可以将字符代码移动到非python文件
  • 连续字符或字符组的潜在列表ex:拇指向上和向下,区域指标列表

1 个答案:

答案 0 :(得分:2)

标准库的unicodedata模块已包含特殊字符的名称:

>>> unicodedata.lookup('THUMBS UP SIGN')
'\U0001f44d'
>>> unicodedata.lookup("REGIONAL INDICATOR SYMBOL LETTER A")
'\U0001f1e6'

您可以通过代码获取角色的正式名称:

>>> unicodedata.name('\U0001F600')
'GRINNING FACE'