-2

我正在尝试获取电话号码的运营商

我在 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)
4

1 回答 1

0

似乎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) 
于 2020-09-29T16:56:49.103 回答