好像' 5187621769'应该是一个非常容易的数字供phonenumbers库解析。它带有美国区号的10位数字。但是......没有运气。
设定:
import phonenumbers
number = '5187621769'
方法1:
parsed = phonenumbers.parse(number)
这会引发错误。
方法2:
parsed = phonenumbers.parse("+" + number)
提供国家/地区代码= 51,而不是美国。
我知道我能做到:
parsed = phonenumbers.parse(number,region="US")
但我并不总是知道这个号码是美国的(这只是我发现我没有得到理想行为的一个案例)。我有没有选项或格式化技巧?谢谢!
答案 0 :(得分:4)
如果phonenumbers是美国唯一的图书馆,这将是一个非常容易的数字。你错过了" + 1" a.k.a.国家代码。如果您想假设phonenumbers无法解析的数字是美国数字,您可以执行以下操作:
try:
parsed = phonenumbers.parse(number)
except phonenumbers.NumberParseException as npe:
parsed = phonenumbers.parse('+1{}'.format(number))
答案 1 :(得分:4)
您应该使用:
state=tk.DISABLED
答案 2 :(得分:1)
在搜索电话号码详细信息时,您必须使用电话号码编写国家/地区代码。
此外,这是电话号码的API(libphonenumber的包装器):