来自字符串Python内省方法的HarfBuzz语言不接受

2024-09-28 01:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始使用HarfBuzz,并且已经切换到使用GObject Introspection interface来探索它的API。到目前为止,一切都很简单,但我对^{}有点困惑,它有以下docstring:

language_from_string(str:list) -> HarfBuzz.language_t

也就是说,在IPython,我有:

from gi.repository import HarfBuzz

?HarfBuzz.language_from_string

在vanilla Python中,可以将最后一行替换为:print(HarfBuzz.language_from_string.__doc__)(或类似内容)

如果我用字符串调用此方法,例如:

HarfBuzz.language_from_string('en')

我明白了

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Item 0: Must be number, not str

返回,如果我首先转换为代码点列表:

en = HarfBuzz.language_from_string(list(map(ord, 'en')))

错误消失了,我得到了一些有用的东西。e、 g.我能做到:

HarfBuzz.language_to_string(en)

我得到了一个字符串中所期望的en。你知道吗

HarfBuzzIssue #91是关于这个方法的,但似乎并不相关。你知道吗


Tags: 方法字符串fromapistringipythonlanguageinterface
1条回答
网友
1楼 · 发布于 2024-09-28 01:30:15

在python3中,您必须像HarfBuzz.language_from_string(b'en')(字符串,但前缀为b)那样调用它,因为与py2不同,在py3中字符串不再只是字节序列。你知道吗

你知道有哪个giapi在python3中获得字符串的实际python表示吗?如果是这样,让我知道,否则这是预期从哈夫布兹方面。你知道吗

相关问题 更多 >

    热门问题