Python – Convertir el código de moneda a su signo

En Python, ¿cómo puedo convertir el código de moneda a su signo?

Por ejemplo, USD se convertiría a $ y JPY se convertiría a ¥ .

Si no hay una forma genérica de hacer esto, ¿hay algún diccionario simple de estos en la Web?

Gracias.

    Usando el módulo de configuración regional :

     import locale locales=('en_AU.utf8', 'en_BW.utf8', 'en_CA.utf8', 'en_DK.utf8', 'en_GB.utf8', 'en_HK.utf8', 'en_IE.utf8', 'en_IN', 'en_NG', 'en_PH.utf8', 'en_US.utf8', 'en_ZA.utf8', 'en_ZW.utf8', 'ja_JP.utf8') for l in locales: locale.setlocale(locale.LC_ALL, l) conv=locale.localeconv() print('{ics} ==> {s}'.format(ics=conv['int_curr_symbol'], s=conv['currency_symbol'])) 

    rendimientos

     AUD ==> $ BWP ==> Pu CAD ==> $ DKK ==> kr GBP ==> £ HKD ==> HK$ EUR ==> € INR ==> ₨ NGN ==> ₦ PHP ==> Php USD ==> $ ZAR ==> R ZWD ==> Z$ JPY ==> ¥ 

    Tenga en cuenta que necesita la información local instalada en su máquina. En Ubuntu, esto significa tener instalados los paquetes de language-pack-* correctos.

    En los sistemas * nix, puede encontrar la lista de locales conocidos (por ejemplo, en_GB.utf8 ) con

     locale -a 

    No conozco una forma de obtener esta lista desde Python (sin utilizar subprocess ).

    ¿Qué hay de Babel ?

     from babel import numbers print numbers.format_currency(1500, 'USD', locale='en') # => $1,500.00 print numbers.format_currency(1500, 'GBP', locale='fr_FR') # => 1 500,00 £UK 

    Utilice un dict .

     >>> currencies = {'USD': '$', 'AUD': '$', 'EUR': '€'} >>> print currencies['USD'] $ >>> print currencies['AUD'] $ >>> print currencies['EUR'] € >>> print currencies['GBP'] Traceback (most recent call last): File "", line 1, in  KeyError: 'GBP' 

    ¿ Esto ayuda?

    Esta página es una lista de símbolos utilizados en la vida cotidiana para indicar que un número es un valor monetario, como el signo de dólar “$”, el signo de libra “£” y el símbolo del euro “€”.

    IMPORTANTE: también mantenemos una lista completa de códigos de tres letras utilizados internacionalmente para distinguir una moneda de otra, como “USD” para el dólar estadounidense, “GBP” para la libra del Reino Unido y “EUR” para el euro. Para ver una lista completa de todos estos códigos, consulte nuestra Lista de códigos de moneda tipo XE.com – ISO 4217 .

    Debería poder crear códigos de 3 letras útiles para la asignación de dictados al símbolo de moneda Unicode apropiado.

    El paquete Forex-python convertirá el código de moneda a su signo.

     >>> from forex_python.converter import CurrencyCodes >>> c = CurrencyCodes() >>> print c.get_symbol('GBP') £ 

    Y puede convertir la cantidad de una moneda a otra.

     >>> c.convert('USD', 'INR', 10) 674.73 

    darle una oportunidad