20.15. uuid — RFC 4122に準拠したUUIDオブジェクト—Pythonドキュメント
20.15。 uuid — RFC4122に準拠したUUIDオブジェクト
バージョン2.5の新機能。
このモジュールは、不変の UUID オブジェクト( UUID クラス)と関数 uuid1()、 uuid3()、 uuid4を提供します。 ()、 uuid5()は、 RFC 4122 で指定されているバージョン1、3、4、および5のUUIDを生成します。
一意のIDだけが必要な場合は、おそらく uuid1()または uuid4()を呼び出す必要があります。 uuid1()は、コンピューターのネットワークアドレスを含むUUIDを作成するため、プライバシーを侵害する可能性があることに注意してください。 uuid4()はランダムなUUIDを作成します。
- class uuid.UUID([hex[, bytes[, bytes_le[, fields[, int[, version]]]]]])
32個の16進数の文字列、 bytes 引数としてビッグエンディアン順の16バイトの文字列、 bytes_le [としてリトルエンディアン順の16バイトの文字列のいずれかからUUIDを作成します。 X197X]引数、6つの整数のタプル(32ビット time_low 、16ビット time_mid 、16ビット time_hi_version 、8ビット clock_seq_hi_variant 、8ビット clock_seq_low 、 fields 引数として48ビット node )、または intとして単一の128ビット整数引数。 16進数の文字列を指定する場合、中括弧、ハイフン、およびURNプレフィックスはすべてオプションです。 たとえば、これらの式はすべて同じUUIDを生成します。
hex 、 bytes 、 bytes_le 、 fields 、または int のいずれかを指定する必要があります。 version 引数はオプションです。 指定された場合、結果のUUIDは、RFC 4122に従って設定されたバリアントとバージョン番号を持ち、指定された hex 、 bytes 、 bytes_le 、[X218X ] fields 、または int 。
UUID インスタンスには、次の読み取り専用属性があります。
- UUID.bytes
- 16バイト文字列としてのUUID(ビッグエンディアンバイト順の6つの整数フィールドを含む)。
- UUID.bytes_le
- 16バイト文字列としてのUUID( time_low 、 time_mid 、および time_hi_version はリトルエンディアンバイト順)。
- UUID.fields
UUIDの6つの整数フィールドのタプル。これは、6つの個別の属性および2つの派生属性としても使用できます。
分野
意味
time_low
UUIDの最初の32ビット
time_mid
UUIDの次の16ビット
time_hi_version
UUIDの次の16ビット
clock_seq_hi_variant
UUIDの次の8ビット
clock_seq_low
UUIDの次の8ビット
node
UUIDの最後の48ビット
60ビットのタイムスタンプ
clock_seq
14ビットのシーケンス番号
- UUID.hex
- 32文字の16進文字列としてのUUID。
- UUID.int
- 128ビット整数としてのUUID。
- UUID.urn
- RFC4122で指定されているURNとしてのUUID。
- UUID.variant
- UUIDの内部レイアウトを決定するUUIDバリアント。 これは、定数 RESERVED_NCS 、 RFC_4122 、 RESERVED_MICROSOFT 、または RESERVED_FUTURE のいずれかになります。
- UUID.version
- UUIDバージョン番号(1から5は、バリアントが RFC_4122 の場合にのみ意味があります)。
uuid モジュールは、次の関数を定義します。
- uuid.getnode()
- ハードウェアアドレスを48ビットの正の整数として取得します。 これを初めて実行すると、別のプログラムが起動する可能性があり、非常に時間がかかる可能性があります。 ハードウェアアドレスを取得するすべての試みが失敗した場合、RFC 4122で推奨されているように、8番目のビットが1に設定されたランダムな48ビットの数値を選択します。 「ハードウェアアドレス」とは、ネットワークインターフェースのMACアドレスを意味し、複数のネットワークインターフェースを備えたマシンでは、それらのいずれかのMACアドレスが返される場合があります。
- uuid.uuid1([node[, clock_seq]])
- ホストID、シーケンス番号、および現在の時刻からUUIDを生成します。 node が指定されていない場合、 getnode()を使用してハードウェアアドレスを取得します。 clock_seq が指定されている場合は、シーケンス番号として使用されます。 それ以外の場合は、ランダムな14ビットのシーケンス番号が選択されます。
- uuid.uuid3(namespace, name)
- 名前空間識別子(UUID)と名前(文字列)のMD5ハッシュに基づいてUUIDを生成します。
- uuid.uuid4()
- ランダムなUUIDを生成します。
- uuid.uuid5(namespace, name)
- 名前空間識別子(UUID)と名前(文字列)のSHA-1ハッシュに基づいてUUIDを生成します。
uuid モジュールは、 uuid3()または uuid5()で使用する次の名前空間識別子を定義します。
- uuid.NAMESPACE_DNS
- この名前空間を指定すると、 name 文字列は完全修飾ドメイン名になります。
- uuid.NAMESPACE_URL
- この名前空間を指定すると、 name 文字列はURLになります。
- uuid.NAMESPACE_OID
- この名前空間を指定すると、 name 文字列はISOOIDになります。
- uuid.NAMESPACE_X500
- この名前空間を指定すると、 name 文字列はDERまたはテキスト出力形式のX.500DNになります。
uuid モジュールは、variant
属性の可能な値に対して次の定数を定義します。
- uuid.RESERVED_NCS
- NCS互換性のために予約されています。
- uuid.RFC_4122
- RFC 4122 で指定されたUUIDレイアウトを指定します。
- uuid.RESERVED_MICROSOFT
- Microsoftとの互換性のために予約されています。
- uuid.RESERVED_FUTURE
- 将来の定義のために予約されています。
も参照してください
- RFC 4122 -Universally Unique IDentifier(UUID)URN名前空間
- この仕様は、UUIDのUniform Resource Name名前空間、UUIDの内部形式、およびUUIDを生成する方法を定義します。