Python中的操作系统区域设置支持

15 投票
4 回答
16383 浏览
提问于 2025-04-15 13:31

以下的Python代码在我的Windows电脑上能正常运行(Python 2.5.4),但在我的Debian电脑上却不行(Python 2.5.0)。我猜这可能和操作系统有关。

import locale
locale.setlocale( locale.LC_ALL, 'English_United States.1252' )

我收到以下错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/locale.py", line 476, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

问题:

  • 这是否和操作系统有关?
  • 我怎么能在Python中找到支持的地区设置列表?
  • 我怎么能把Windows的地区设置和Debian的地区设置对应起来?

4 个回答

8

看看locale.locale_alias这个字典里面的内容。

>>> import locale
>>> len(locale.locale_alias)
789
>>> locale.locale_alias.keys()[:5]
['ko_kr.euc', 'is_is', 'ja_jp.mscode', 'kw_gb@euro', 'yi_us.cp1255']
>>> 

(在我安装的2.6.2版本中,有789个地区名称。)

9

尝试一下

apt-get install locales-all

对我来说,这个方法效果很好

22

这跟操作系统有关。

要查看本地可用的语言设置,你可以在命令行中输入 locale -a

我觉得你想要的本地设置可能是类似于 Windows-1252 这样的。

撰写回答