ALH*_*ALH 11 python phone-number
我使用过2个python库:phonenumbers,pycountry.我实际上找不到一种方法来只提供国家代码并获得相应的国家名称.
在phonenumbers你需要提供完整的数字parse.在pycountry它只是获得国家ISO.
是否有解决方案或方法以任何方式提供库国家/地区代码并获取国家/地区名称?
Mar*_*ers 24
该phonenumbers库是相当不足的记录; 相反,他们建议您查看原始Google项目以进行单元测试以了解功能.
该PhoneNumberUtilTest单元测试似乎涵盖您的具体使用情况; 使用该getRegionCodeForCountryCode()功能将电话号码的国家部分映射到给定区域.还有一个getRegionCodeForNumber()函数似乎首先提取已解析数字的国家/地区代码属性.
事实上,Python中有相应的功能phonenumbers.phonenumberutil.region_code_for_country_code()和phonenumbers.phonenumberutil.region_code_for_number()相同的功能:
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))
Run Code Online (Sandbox Code Playgroud)
演示:
>>> 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
Run Code Online (Sandbox Code Playgroud)
生成的区域代码是一个2个字母的ISO代码,因此您可以直接在pycountry以下位置使用它:
>>> import pycountry
>>> country = pycountry.countries.get(alpha_2=region_code_for_number(pn))
>>> print(country.name)
United Kingdom
Run Code Online (Sandbox Code Playgroud)
请注意,该.country_code属性只是一个整数,因此您可以在phonenumbers.phonenumberutil.region_code_for_country_code()没有电话号码的情况下使用,只需使用国家/地区代码:
>>> region_code_for_country_code(1)
'US'
>>> region_code_for_country_code(44)
'GB'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7966 次 |
| 最近记录: |