֦is & d Z ddlZddlZddlmZmZ dZej dv rdxZZ nddlZ ej Zedk( Zedk( Z d ZdZ
erd
ZdZ
g d\ ZZZZeZeZ ee G d
d Z G d d Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z# ddl$Z$ e%e$dd Z& e%e$dd Z'e$jP Z)d Z+d Z,d! Z-d" Z.e reegZ/n4ej d#k( reee!gZ/nej d$k( rg Z/n
ere!gZ/neeee!e gZ/ej` d%k( re,ge/z Z1nej` d&k( re-ge/z Z1ne/Z1da2d' Z3da4d2d(Z5d) Z6d* Z7d+ Z8d, Z9 ed- Z: ed. Z; ed/ Z< ed0 Z=e>d1k( r e9 yy# e*$ r dZ$dZ&dZ'dZ)Y w xY w)3aQ UUID objects (universally unique identifiers) according to RFC 4122.
This module provides immutable UUID objects (class UUID) and the functions
uuid1(), uuid3(), uuid4(), uuid5() for generating version 1, 3, 4, and 5
UUIDs as specified in RFC 4122.
If all you want is a unique ID, you should probably call uuid1() or uuid4().
Note that uuid1() may compromise privacy since it creates a UUID containing
the computer's network address. uuid4() creates a random UUID.
Typical usage:
>>> import uuid
# make a UUID based on the host ID and current time
>>> uuid.uuid1() # doctest: +SKIP
UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
# make a UUID using an MD5 hash of a namespace UUID and a name
>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
# make a random UUID
>>> uuid.uuid4() # doctest: +SKIP
UUID('16fd2706-8baf-433b-82eb-8c7fada847da')
# make a UUID using a SHA-1 hash of a namespace UUID and a name
>>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')
# make a UUID from a string of hex digits (braces and hyphens ignored)
>>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
# convert a UUID to a string of hex digits in standard form
>>> str(x)
'00010203-0405-0607-0809-0a0b0c0d0e0f'
# get the raw 16 bytes of the UUID
>>> x.bytes
b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
# make a UUID from a 16-byte string
>>> uuid.UUID(bytes=x.bytes)
UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')
N)Enum_simple_enumzKa-Ping Yee