Saltar al contenido

¿Obtener el nombre del país del código de país en python?

Este grupo de especialistas pasados varios días de trabajo y de juntar de datos, hallamos la solución, nuestro deseo es que te sea útil en tu proyecto.

Solución:

los phonenumbers la biblioteca está poco documentada; en su lugar, le aconsejan que mire el proyecto original de Google para pruebas unitarias para aprender sobre la funcionalidad.

los PhoneNumberUtilTest unittests parece cubrir su caso de uso específico; asignar la parte del país de un número de teléfono a una región dada, usando el getRegionCodeForCountryCode() función. También hay una getRegionCodeForNumber() funcion que aparece para extraer el codigo de pais attribute de un número analizado primero.

Y de hecho, hay correspondientes phonenumbers.phonenumberutil.region_code_for_country_code() y phonenumbers.phonenumberutil.region_code_for_number() funciones para hacer lo mismo en Python:

import phonenumbers
from phonenumbers.phonenumberutil import (
    region_code_for_country_code,
    region_code_for_number,
)

pn = phonenumbers.parse('+442083661177')
print(region_code_for_country_code(pn.country_code))

Manifestación:

>>> import phonenumbers
>>> from phonenumbers.phonenumberutil import region_code_for_country_code
>>> from phonenumbers.phonenumberutil import region_code_for_number
>>> pn = phonenumbers.parse('+442083661177')
>>> print(region_code_for_country_code(pn.country_code))
GB
>>> print(region_code_for_number(pn))
GB

El código de región resultante es un código ISO de 2 letras, por lo que puede usarlo directamente en pycountry:

>>> import pycountry
>>> country = pycountry.countries.get(alpha_2=region_code_for_number(pn))
>>> print(country.name)
United Kingdom

Tenga en cuenta que el .country_code attribute es solo un enteropara que puedas usar phonenumbers.phonenumberutil.region_code_for_country_code() sin un número de teléfono, solo un código de país:

>>> region_code_for_country_code(1)
'US'
>>> region_code_for_country_code(44)
'GB'

Calificaciones y comentarios

Recuerda que puedes comunicar esta sección si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *