5

「5187621769」は、phonenumbers ライブラリが解析するのに非常に簡単な番号である必要があるようです。米国の市外局番付きの 10 桁です。しかし...運が悪い。

設定:

import phonenumbers
number = '5187621769'

方法 1:

parsed = phonenumbers.parse(number)

これはエラーをスローします。

方法 2:

parsed = phonenumbers.parse("+" + number)

国コード = 51 を指定しますが、これは米国ではありません。

私はできることを知っています:

parsed = phonenumbers.parse(number,region="US")

しかし、番号が米国になるとは限りません (これは、望ましい動作が得られないことに気付いた 1 つのケースにすぎません)。私が見逃しているオプションやフォーマットのトリックはありますか? ありがとう!

4

3 に答える 3

5

phonenumbers が米国のみのライブラリである場合、非常に簡単な番号になります。「+1」別名国コードがありません。phonenumbers が解析できない番号が米国の番号であると想定したい場合は、次のようにすることができます。

try:
    parsed = phonenumbers.parse(number)
except phonenumbers.NumberParseException as npe:
    parsed = phonenumbers.parse('+1{}'.format(number))
于 2015-02-04T22:26:17.157 に答える