如何在 Python 中创建 GUID/UUID
在 Python 中创建 GUID(全局唯一标识符)或 UUID(通用唯一标识符)可以使用标准库中的 uuid 模块。该模块提供了几种生成不同类型 UUID 的方法,且是跨平台的,不依赖任何特定平台的功能。
uuid
下面是如何在 Python 中生成 UUID 的示例:
import uuid # 生成一个随机 UUID generated_uuid = uuid.uuid4() print(f"生成的 UUID: {generated_uuid}")
uuid 模块提供了多种生成 UUID 的方法,具体如下:
uuid.uuid1(): 基于主机的 MAC 地址和当前时间生成一个 UUID。适用于需要使用硬件信息生成的唯一标识符的情况。 python uuid1 = uuid.uuid1() print(f"UUID1: {uuid1}")
uuid.uuid1()
python uuid1 = uuid.uuid1() print(f"UUID1: {uuid1}")
uuid.uuid3(namespace, name): 基于命名空间标识符和名称的 MD5 哈希生成 UUID。适用于需要特定命名空间和名称的一致性 UUID。 python uuid3 = uuid.uuid3(uuid.NAMESPACE_DNS, 'example.com') print(f"UUID3: {uuid3}")
uuid.uuid3(namespace, name)
python uuid3 = uuid.uuid3(uuid.NAMESPACE_DNS, 'example.com') print(f"UUID3: {uuid3}")
uuid.uuid4(): 基于随机数生成 UUID。这是最常用的生成随机 UUID 的方法。 python uuid4 = uuid.uuid4() print(f"UUID4: {uuid4}")
uuid.uuid4()
python uuid4 = uuid.uuid4() print(f"UUID4: {uuid4}")
uuid.uuid5(namespace, name): 基于命名空间标识符和名称的 SHA-1 哈希生成 UUID。与 uuid3() 类似,但使用 SHA-1 而不是 MD5。 python uuid5 = uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com') print(f"UUID5: {uuid5}")
uuid.uuid5(namespace, name)
uuid3()
python uuid5 = uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com') print(f"UUID5: {uuid5}")
以下是一个完整的示例,展示了如何创建和打印不同类型的 UUID:
import uuid # 生成不同类型的 UUID uuid1 = uuid.uuid1() # 基于时间的 UUID uuid3 = uuid.uuid3(uuid.NAMESPACE_DNS, 'example.com') # 基于 MD5 的 UUID uuid4 = uuid.uuid4() # 随机 UUID uuid5 = uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com') # 基于 SHA-1 的 UUID # 打印 UUID print(f"UUID1: {uuid1}") print(f"UUID3: {uuid3}") print(f"UUID4: {uuid4}") print(f"UUID5: {uuid5}")