当前位置:首页 >> 脚本专栏

Python通用唯一标识符uuid模块使用案例

1. 背景知识:

  UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 bit ). 它的唯一性和一致性特点使得可以无需注册过程就能够产生一个新的UUID. UUID可以被用作多种用途, 既可以用来短时间内标记一个对象, 也可以可靠的辨别网络中的持久性对象.

  为什么要使用UUID"htmlcode">

> import uuid

> # make a UUID based on the host ID and current time
> uuid.uuid1()
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()
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
'\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')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。