Python访问ICU文本校对
项目描述
此包提供对国际Unicode组件(ICU)的Python接口。
变更历史
1.0.2 (2006-10-16)
修复了设置文件的问题。
1.0.1 (2006-10-16)
向setup.py中添加了缺失的导入。
1.0 (2006-10-16)
初始版本。
安装
zope.ucol通过setup.py以常规方式安装。
您必须安装ICU。如果ICU未安装在系统上用于包含文件和库的常规位置,您可以在构建扩展时向setup.py提供命令行选项,如下所示
python2.4 setup.py build_ext \ -I/home/jim/p/z4i/jim-icu/var/opt/icu/include \ -L/home/jim/p/z4i/jim-icu/var/opt/icu/lib \ -R/home/jim/p/z4i/jim-icu/var/opt/icu/lib python2.4 setup.py install
请注意,如果库位于不寻常的位置,您可能需要使用-R选项指定其位置,这样就不必在运行时指定。
详细文档
基于区域的ICU文本校对
zope.ucol包为Unicode Components for Unicode(ICU)库的u_col C API提供了一个最小的Python包装器。它提供基于区域的文本校对。
要执行校对,您需要为您的区域创建一个校对器键工厂。在下面的示例中,我们将使用特殊的“root”区域
>>> import zope.ucol >>> collator = zope.ucol.Collator("root")
校对器有一个键方法,可以从Unicode字符串创建校对键。该方法可以作为键参数传递给list.sort或内置的sorted函数。
>>> sorted([u'Sam', u'sally', u'Abe', u'alice', u'Terry', u'tim', ... u'\U00023119', u'\u62d5'], key=collator.key) [u'Abe', u'alice', u'sally', u'Sam', u'Terry', u'tim', u'\u62d5', u'\U00023119']
有一个用于比较两个Unicode字符串的cmp方法,也可以在排序时使用
>>> sorted([u'Sam', u'sally', u'Abe', u'alice', u'Terry', u'tim', ... u'\U00023119', u'\u62d5'], collator.cmp) [u'Abe', u'alice', u'sally', u'Sam', u'Terry', u'tim', u'\u62d5', u'\U00023119']
请注意,通常将键方法传递给排序函数,而不是cmp方法,这几乎总是更有效。在字符串长且数量少,并且它们倾向于在开头处不同的情况下,cmp方法更有效。这是因为当可以根据分析原始字符串的一小部分来确定顺序时,计算整个键可能比比较要昂贵得多。
校对器属性
您可以要求合并器提供它的区域设置
>>> collator.locale 'root'
并可以找出是否使用了默认的合并信息
>>> collator.used_default_information 0 >>> collator = zope.ucol.Collator("eek") >>> collator.used_default_information 1
下载
项目详情
关闭
zope.ucol-1.0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1739bba505ba098d080ba170c274791105033eb8b02a6ce9794165c68691523b |
|
MD5 | 557c38e3ed2751933c1d554d60a5cb1a |
|
BLAKE2b-256 | e5bc2640d1c930cf0dd63b8dbf3439459cb5e9873c8973882f6b34675404d241 |