Цель: передать код локали и получить символ валюты.
Мой подход заключается в использовании библиотеки babel
. Однако я встречаю AttributeError
в версии 2.12.1
.
Документация | Номер страницы PDF: 82
Код:
import babel
def get_currency_symbol(locale_code):
try:
return babel.numbers.get_currency_symbol(None, locale_code)
except babel.core.UnknownLocaleError:
print(f"Invalid locale code: {locale_code}")
return '$'
print(get_currency_symbol('en_US'))
print(get_currency_symbol('fr_FR'))
print(get_currency_symbol('invalid_locale'))
Выслеживать:
(venv) me@VKY7WPYWV1 project % pip install --upgrade babel
Requirement already satisfied: babel in /Users/me/miniconda3/envs/project/lib/python3.9/site-packages (2.12.1)
(venv) me@VKY7WPYWV1 project % pip show babel
Name: Babel
Version: 2.12.1
Summary: Internationalization utilities
Home-page: https://babel.pocoo.org/
Author: Armin Ronacher
Author-email: [email protected]
License: BSD
Location: /Users/me/miniconda3/envs/project/lib/python3.9/site-packages
Requires:
Required-by:
(venv) me@VKY7WPYWV1 project % python tools/del.py
Traceback (most recent call last):
File "/Users/me/GitHub/lumada-catalog/project/tools/del.py", line 7, in <module>
print(get_currency_symbol('en_US'))
File "/Users/me/GitHub/lumada-catalog/project/tools/del.py", line 4, in get_currency_symbol
return babel.numbers.get_currency_symbol(None, locale_code)
AttributeError: module 'babel' has no attribute 'numbers'
Импортируйте babel.numbers
, чтобы использовать подмодуль, а не только babel
.