【发布时间】:2019-03-25 18:21:08
【问题描述】:
我需要获取iso货币符号,而不使用内置的python语言环境模块。
locale 模块需要是安装在操作系统上的语言环境。我想在无服务器环境中运行我的代码,因此安装任何操作系统附加包都是一个障碍。
我需要的就相当于:
import locale
locale.setlocale(locale.LC_ALL, ('en_US', 'utf-8'))
currency_symbol = locale.localeconv()['int_curr_symbol']
【问题讨论】:
-
为什么要限制?
-
您认为还涉及哪些附加包?
-
我需要获取货币代码,而无需在操作系统中安装任何其他软件包。例如,如果我尝试设置未安装的语言环境,则会引发错误:
locale.Error: unsupported locale setting。我需要使用一些不依赖于操作系统的库来获取货币符号。 -
假设您的服务器上有互联网,您可以通过 ping 一个网站来查找您的地理坐标。例如:stackoverflow.com/a/24907340/8150685(尽管您必须找到其他网站)。或者,如果您可以安装软件包,您可以使用下面的答案:stackoverflow.com/a/43589918/8150685。然后使用这些坐标找到正确的货币符号。
-
您可以使用查找表或通过其他 API 调用(例如:usercountry.com)找到正确的货币符号。 (此 API 可以只使用您的 IP 来返回所需的数据)。
标签: python python-3.x internationalization