相关疑难解决方法(0)

在Windows上设置Python的语言环境的正确方法是什么?

我正在尝试以区域设置感知的方式对字符串列表进行排序.我已经将Babel库用于其他与i18n相关的任务,但它不支持排序.Python的locale模块提供了一个strcoll函数,但需要将进程的语言环境设置为我想要使用的语言环境.有点痛,但我可以忍受它.

问题是我似乎无法实际设置区域设置.该文件locale模块给出了这样的例子:

import locale
locale.setlocale(locale.LC_ALL, 'de_DE')
Run Code Online (Sandbox Code Playgroud)

当我运行时,我得到了这个:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\Lib\locale.py", line 494, in setlocale
locale.Error: unsupported locale setting
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python windows localization internationalization

76
推荐指数
6
解决办法
8万
查看次数

Python 中是否有一种简单且首选的德语数字字符串格式化方法?

1.000,1234我正在Windows操作系统下的Python中寻找德语数字格式(例如)的正确方法。

我尝试过locale.setlocale但没有成功。

相反,我编写了一个函数来提供所需的输出。

有没有更好的办法?

def ger_num(number, precision=3):
    """
    returns german formatted number as string or an empty string
    """
    if number is not None:
        try:
            my_number = "{:,f}".format(number)
        except ValueError:
            return ""

        decimals, fraction = my_number.split(".")[0], my_number.split(".")[1]
        decimals = decimals.replace(",", ".")

        if precision:
            return decimals + "," + fraction[:precision]
        else:
            return decimals

    else:
        return ""
Run Code Online (Sandbox Code Playgroud)

python locale localization string-formatting python-3.x

6
推荐指数
1
解决办法
5718
查看次数