我使用下面的代码来获取电话号码的国家,我目前使用 phonenumbers :

query = phonenumbers.parse(number, None)
geocoder.country_name_for_number(query, "en")

它给出了带有 +358 的数字错误。我测试的库版本是最新的:7.4.4
任何人都有这个库的解决方案或解决方法?国家应该是 Finland
EDIT1:
例如,下面的数字给出了一个空字符串:
>>> number = '+358753263000'
>>> query = phonenumbers.parse(number, None)
>>> geocoder.country_name_for_number(query, "en")
u''

最佳答案

你可能掩盖了它。正如@Barmar 指出的那样,根据 Wikipedia ,“+358”后面的数字应该是 9(或 0)。

>>> geocoder.country_name_for_number(phonenumbers.parse('+358753263000'), 'en')
u''
>>> geocoder.country_name_for_number(phonenumbers.parse('+358953263000'), 'en')
u'Finland'

将第一个数字从 7 更改为 9 给出了芬兰。你也有太多的数字,但它似乎并不介意。

关于python - 为什么python Phonenumbers库为+358*****的国家/地区提供null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38281596/

10-12 19:21