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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。