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
相關用法
- Python PIL ImageGrab.grab()用法及代碼示例
- Python PIL ImageGrab.grabclipboard()用法及代碼示例
- Python Pandas.apply()用法及代碼示例
- Python Pandas.Categorical()用法及代碼示例
- Python Pandas.CategoricalDtype()用法及代碼示例
- Python Pandas DataFrame.abs()用法及代碼示例
- Python Pandas dataframe.add()用法及代碼示例
- Python Pandas dataframe.add_prefix()用法及代碼示例
- Python Pandas dataframe.add_suffix()用法及代碼示例
- Python Pandas dataframe.aggregate()用法及代碼示例
- Python Pandas dataframe.all()用法及代碼示例
- Python Pandas dataframe.applymap()用法及代碼示例
- Python Pandas dataframe.asfreq()用法及代碼示例
- Python Pandas dataframe.assign()用法及代碼示例
- Python Pandas DataFrame.astype()用法及代碼示例
- Python Pandas Dataframe.at[ ]用法及代碼示例
- Python Pandas dataframe.at_time()用法及代碼示例
- Python Pandas DataFrame.axes用法及代碼示例
- Python Pandas dataframe.between_time()用法及代碼示例
- Python Pandas dataframe.bfill()用法及代碼示例
- Python Pandas DataFrame.blocks用法及代碼示例
- Python Pandas dataframe.clip()用法及代碼示例
- Python Pandas dataframe.clip_lower()用法及代碼示例
- Python Pandas dataframe.clip_upper()用法及代碼示例
- Python Pandas DataFrame.columns用法及代碼示例
注:本文由純淨天空篩選整理自pavan_rachapudi大神的英文原創作品 Phonenumbers module in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。