Python识别国际电话号码并格式化

image-20211110160801815

最近有个项目需要国际手机接码。接码平台提供的电话号码都是不分割的。

形如这样:

image-20211110161145186

这可是很麻烦的。肉眼看,鬼知道那部分是区号(这是斯里兰卡的,94是区号)

so,代码解决格式化问题:

1
2
3
4
5
6
7
8
9
from phone_iso3166.country import *
phones = [
...
]
for phone in phones:
prefix = str(country_prefix(phone_country(phone)))
print(f"{phone} ==> +{prefix}-{phone[len(prefix):]}")

依赖的库是:phone_iso3166 安装使用pip install phone-iso3166