當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Phonenumbers用法及代碼示例


Python 是一種非常強大的語言,並且擁有非常豐富的庫。 phonenumbers 是提供眾多函數的模塊之一,例如提供電話號碼的基本信息、電話號碼驗證等。在這裏,我們將通過編寫簡單的 Python 程序來學習如何使用phonenumbers 模塊。這是 Google libphonenumber 庫的 Python 端口。

安裝

通過在命令提示符中鍵入以下命令來安裝電話號碼模塊。

pip install phonenumbers

入門

1. 將字符串轉換為電話號碼格式:為了探索電話號碼模塊的函數,我們需要以電話號碼格式獲取用戶的電話號碼。這裏我們將看到如何將用戶電話號碼轉換為電話號碼格式。輸入必須是字符串類型,並且電話號碼前必須添加國家代碼。

Python3


# Program to convert input to 
# phonenumber format 
  
import phonenumbers 
  
# Parsing String to Phone number 
# Phone number format: (+Countrycode)xxxxxxxxxx 
phoneNumber = phonenumbers.parse("+919876543210") 
  
# This will print the phone number and  
# it's basic details. 
print(phoneNumber) 

輸出:

Country Code: 91 National Number: 9876543210

2. 獲取時區:這是一個簡單的Python程序,使用phonenumbers模塊獲取電話號碼的時區。首先,我們將輸入的字符串解析為電話號碼格式,然後使用內置函數來獲取用戶的時區。它僅給出有效數字的輸出。

Python3


# Program to get timezone a phone number 
  
import phonenumbers 
from phonenumbers import timezone 
  
# Parsing String to Phone number 
phoneNumber = phonenumbers.parse("+919876543210") 
  
# Pass the parsed phone number in below function 
timeZone = timezone.time_zones_for_number(phoneNumber) 
  
# It print the timezone of a phonenumber 
print(timeZone) 

輸出:

('Asia/Calcutta',)

3.從文本中提取電話號碼:我們可以使用此模塊提取文本/段落中存在的電話號碼。您可以對其進行迭代以檢索電話號碼序列。為此,PhoneNumberMatcher對象提供了相關函數。

Python3


# Program to extract phone numbers from a text 
import phonenumbers 
  
# Text Input 
text = "Contact us at +919876543210 or +14691234567"
  
# Pass the text and country code to the below function 
numbers = phonenumbers.PhoneNumberMatcher(text, "IN") 
  
# Printing the phone numbers matched with country code 
# and also the indexes of the phone numbers in the string input 
for number in numbers: 
    print(number) 

輸出:

PhoneNumberMatch [14,27) +919876543210

4. 電話號碼的操作符和地區:這裏我們將學習如何使用該模塊的地理編碼器和操作符函數查找電話號碼的操作符和地區。

Python3


# Program to find carrier and region 
# of a phone number 
import phonenumbers 
from phonenumbers import geocoder, carrier 
  
# Parsing String to Phone number 
phoneNumber = phonenumbers.parse("+919876543210") 
  
# Getting carrier of a phone number 
Carrier = carrier.name_for_number(phoneNumber, 'en') 
  
# Getting region information 
Region = geocoder.description_for_number(phoneNumber, 'en') 
  
# Printing the carrier and region of a phone number 
print(Carrier) 
print(Region) 

輸出:

Airtel
India

5. 驗證電話號碼:一個簡單的Python程序,用於檢查給定的電話號碼是否有效(例如,它在指定的交換機中),並檢查給定的電話號碼是否可能(例如,它具有正確的位數)。

Python3


# Program to check whether a phone number is 
# valid or not 
import phonenumbers 
  
# Parsing String to Phone number 
phone_number = phonenumbers.parse("+91987654321") 
  
# Validating a phone number 
valid = phonenumbers.is_valid_number(phone_number) 
  
# Checking possibility of a number 
possible = phonenumbers.is_possible_number(phone_number) 
  
# Printing the output 
print(valid) 
print(possible) 

輸出:

False
True


相關用法


注:本文由純淨天空篩選整理自pavan_rachapudi大神的英文原創作品 Phonenumbers module in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。