exp*_*rer 5 python libphonenumber
似乎'5187621769'应该是一个非常容易的数字,供phonenumbers库解析.这是10位数字,带有美国区号.但是......没有运气.
建立:
import phonenumbers
number = '5187621769'
Run Code Online (Sandbox Code Playgroud)
方法1:
parsed = phonenumbers.parse(number)
Run Code Online (Sandbox Code Playgroud)
这会引发错误.
方法2:
parsed = phonenumbers.parse("+" + number)
Run Code Online (Sandbox Code Playgroud)
给出国家代码= 51,这不是美国.
我知道我能做到:
parsed = phonenumbers.parse(number,region="US")
Run Code Online (Sandbox Code Playgroud)
但我并不总是知道这个数字将是美国(这只是我发现我没有得到理想行为的一个案例).有没有我缺少的选项或格式技巧?谢谢!
小智 5
如果电话号码是美国唯一的图书馆,这将是一个非常简单的数字。您缺少“+1”又名国家/地区代码。如果您想假设 phonenumbers 无法解析的号码是美国号码,您可以执行以下操作:
try:
parsed = phonenumbers.parse(number)
except phonenumbers.NumberParseException as npe:
parsed = phonenumbers.parse('+1{}'.format(number))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4497 次 |
| 最近记录: |