【问题标题】:Python character constants for chat bot聊天机器人的 Python 字符常量
【发布时间】:2018-03-09 10:12:52
【问题描述】:

我目前正在用 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 文件中
  • 连续字符或字符组的潜在列表,例如:拇指向上和向下,区域指示器列表

【问题讨论】:

    标签: python unicode constants


    【解决方案1】:

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

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

    你可以通过代码得到一个角色的正式名称:

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

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-05
      • 1970-01-01
      • 2022-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多