You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中获取国家代码与国际号码前缀的映射关系?

获取python-phonenumbers中国家代码到国际前缀的映射

哈哈,我刚好对这个库的结构比较熟悉!你说的没错,python-phonenumbers确实内置了你要的国家代码(如US、GB)到国际电话号码前缀的映射,但这些数据不是存在单个的region_*.py文件里,而是封装在核心模块中,获取起来超简单:

直接用内置字典生成目标映射

库的phonemetadata模块里有一个现成的REGION_CODE_TO_COUNTRY_CODE字典,它的键是两位国家/地区代码(比如'US'),值是对应的国家号码(整数格式,比如1)。你只需要把值转换成带+的字符串,就能得到你想要的格式:

import phonenumbers.phonemetadata as pm

# 生成你需要的映射字典
country_code_to_prefix = {
    region: f"+{code}" 
    for region, code in pm.REGION_CODE_TO_COUNTRY_CODE.items()
}

# 测试示例
print(country_code_to_prefix['US'])  # 输出: +1
print(country_code_to_prefix['GB'])  # 输出: +44
print(country_code_to_prefix['DE'])  # 输出: +49

补充说明

  • 这个字典覆盖了所有库支持的国家/地区,不用担心遗漏。如果要验证某个地区是否存在,直接用'XX' in pm.REGION_CODE_TO_COUNTRY_CODE检查即可。
  • 你看到的shortdata/region_DE.py这类文件是自动生成的地区元数据,主要存储该地区的号码格式、运营商规则等细节,而全局的国家代码映射是统一放在phonemetadata模块里的,方便全局调用。

内容的提问来源于stack exchange,提问作者Kurt Peek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:58:01