跳转到主要内容

未提供项目描述

项目描述

此包将C函数族xlocale的部分暴露给Python。这对于按线程设置区域设置特别有用。

通常您使用locale.setlocale函数来更改整个进程的区域设置

import locale

locale.setlocale(locale.LC_ALL, 'nl_NL')

这可能不适合我们服务器或其他使用多个线程的应用程序。要只为当前线程更改区域设置,请执行此操作

import xlocale

loc = xlocale.Locale(xlocale.LC_ALL_MASK, 'nl_NL')
loc.use()

创建区域对象

xlocale.Locale([mask[, locale[, base]])

创建一个新的区域对象。新区域是通过取基本区域并更改一个或多个区域类别来创建的。如果没有提供基本区域,则将使用C区域。

mask 是由 LC_*_MASK 常量构建的位掩码。通常您将希望使用 LC_ALL_MASK 来完全更改区域设置。

locale 是包含区域名称的字符串。如果没有提供,则将使用C区域。

xlocale.Locale.current_locale()

返回当前区域设置的Locale实例。

区域实例

Locale.use()

切换当前线程的区域。

Locale.name(mask)

返回区域类别的名称。 mask 是区域类别的位掩码,将返回第一个配置类别的名称。

此方法并非所有平台都可用,在不支持的平台上将抛出异常。

Locale.lconv()

返回描述当前区域设置中数字和货币值显示方式的信息。这是一个具有以下属性的字典对象:

decimal_point

小数点字符,除了货币值外,不能为空字符串。

thousands_sep

小数点前数字组之间的分隔符,除了货币值。

grouping

数字组的尺寸,除了货币。这是一个表示从低阶数字组到高阶(从右到左)的组大小的整数列表。列表可以以0或CHAR_MAX结束。如果列表以0结束,则在0之前的最后一个组大小会被重复以考虑到所有数字。如果列表以CHAR_MAX结束,则不再进行分组。

int_curr_symbol

标准化的国际货币符号。

currency_symbol

本地货币符号。

mon_decimal_point

货币值的小数点字符。

mon_thousands_sep

货币值中的数字组分隔符。

mon_grouping

与grouping类似,但针对货币值。

positive_sign

用于表示非负货币值的字符,通常为空字符串。

negative_sign

用于表示负货币值的字符,通常为负号。

int_frac_digits

国际风格货币值后的小数位数。

frac_digits

本地风格货币值后的小数位数。

p_cs_precedes

如果货币符号在非负值之前,则为True;如果之后,则为False。

p_sep_by_space

如果非负值之间插入空格,则为True;否则为False。

n_cs_precedes

与p_cs_precedes类似,但针对负值。

n_sep_by_space

与p_sep_by_space类似,但针对负值。

p_sign_posn

positive_sign相对于非负数量和currency_symbol的位置,编码如下:

  • 0 - 整个字符串括在括号中。

  • 1 - 在字符串之前。

  • 2 - 在字符串之后。

  • 3 - 直接在currency_symbol之前。

  • 4 - 直接在currency_symbol之后。

n_sign_posn

与p_sign_posn类似,但针对负货币值。

int_p_cs_precedes

与p_cs_precedes相同,但针对国际货币量。

int_n_cs_precedes

与n_cs_precedes相同,但针对国际货币量。

int_p_sep_by_space

与p_sep_by_space相同,但针对国际格式货币量。

int_n_sep_by_space

与n_sep_by_space相同,但针对国际格式货币量。

int_p_sign_posn

与p_sign_posn相同,但针对国际格式货币量。

int_n_sign_posn

与n_sign_posn相同,但针对国际格式货币量。

常量

常量

描述

LC_COLLATE_MASK

排序

LC_CTYPE_MASK

字符类型

LC_MESSAGES_MASK

消息

LC_MONETARY_MASK

货币

LC_NUMERIC_MASK

数字

LC_TIME_MASK

时间

LC_ALL_MASK

以上所有项的组合。

变更日志

1.3.4 - 2018年2月25日

  • 更多Python 3编译修复。

1.3.3 - 2018年2月25日

  • Python 3没有PyInt。

1.3.2 - 2018年2月25日

  • 修复在创建Locale时引发的异常处理:现在它们被正确地视为在构造函数中引发的。

1.3.1 - 2018年2月23日

  • 添加Python 3支持。

  • 添加许多Linux支持。

1.2 - 2014年11月15日

  • 不再从Locale.use()返回当前区域设置。这导致了无法解决的内存双重释放问题。

1.1 - 2014年10月10日

  • 修复Locale.use()中的内存处理错误,这可能导致在多次使用区域实例时发生段错误。

1.0 - 2014年8月27日

  • 第一个版本

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源分布

xlocale-1.3.4.tar.gz (8.3 kB 查看哈希值)

上传时间

构建分布

xlocale-1.3.4-cp36-cp36m-manylinux1_x86_64.whl (25.8 kB 查看哈希值)

上传时间 CPython 3.6m

xlocale-1.3.4-cp35-cp35m-manylinux1_x86_64.whl (25.8 kB 查看哈希值)

上传时间 CPython 3.5m

xlocale-1.3.4-cp34-cp34m-manylinux1_x86_64.whl (25.7 kB 查看哈希值)

上传时间 CPython 3.4m

xlocale-1.3.4-cp33-cp33m-manylinux1_x86_64.whl (25.6 kB 查看哈希值)

上传时间 CPython 3.3m

xlocale-1.3.4-cp27-cp27mu-manylinux1_x86_64.whl (25.6 kB 查看哈希值)

上传时间 CPython 2.7mu

xlocale-1.3.4-cp27-cp27m-manylinux1_x86_64.whl (25.6 kB 查看哈希值)

上传时间 CPython 2.7m

支持者