问题描述
我正在尝试获取电话号码的承运人
我在python中使用电话号码,并不断收到此错误
‘str’ object has no attribute ‘country_code’
这是我的代码:
import phonenumbers
num = input("phone number")
from phonenumbers import carrier
Carrier = carrier.name_for_number("+1" + num,"en")
print(Carrier)
![enter image description here](https://i.stack.imgur.com/BcsQm.png)![enter image description here](https://i.stack.imgur.com/x6TSc.png)![enter image description here](https://i.stack.imgur.com/EONAZ.png)![enter image description here](https://i.stack.imgur.com/X3iVY.png)![enter image description here](https://i.stack.imgur.com/Xpbec.png)
解决方法
似乎name_for_number需要一个对象,因此您必须首先解析输入:
num = input("phone number")
num_object = phonenumbers.parse("+1 {}".format(num))
我建议您做这样的事情:
import phonenumbers
import phonenumbers.carrier
num_object = None
while num_object is None:
try:
num = input("phone number: ")
num_object = phonenumbers.parse("+1 {}".format(num),region="US")
except Exception as error:
print("ERROR: {}".format(error))
carrier = phonenumbers.carrier.name_for_number(num_object,"en")
print(carrier)