不使用语言环境模块如何获取国际货币符号?

时间:2019-03-25 18:21:09

标签: python python-3.x internationalization

我需要获取iso货币符号,而无需使用内置的python语言环境模块。

locale模块必须是操作系统上安装的语言环境。我想在无服务器的环境中运行我的代码,因此安装任何其他操作系统软件包都是一个障碍。

我需要的就是这样:

import locale
locale.setlocale(locale.LC_ALL, ('en_US', 'utf-8'))
currency_symbol = locale.localeconv()['int_curr_symbol']

1 个答案:

答案 0 :(得分:0)

我使用Babel库解决了此问题:

from babel import Locale
from babel.numbers import get_territory_currencies
from datetime import datetime


current_locale = Locale.parse('en_US')
current_date = datetime.utcnow().date
currency_symbol = get_territory_currencies(
    current_locale.territory,
    current_date,
    current_date)[0]

此解决方案的局限性在于区域代码应具有地区。