在 Python 中生成 GUID/UUID

Vaibhav Vaibhav 2023年10月10日
在 Python 中生成 GUID/UUID

UUID 是计算机系统中使用的一个 128 位数字,用于唯一地定义实体或信息。UUID 代表通用唯一标识符。在 Microsoft 创建的软件中,UUID 被视为全局唯一标识符或 GUID。

UUID 基于两个数量:系统的时间戳和工作站的唯一属性。此唯一属性可以是系统的 IP(Internet 协议)地址或 MAC(媒体访问控制)地址。

UUID/GUID 本质上是唯一的。由于此特性,它们被广泛用于软件开发和密钥数据库。

在 Python 中生成 UUID/GUID

为了使用 Python 生成 UUID/GUID,我们将使用 python 内置包 uuid

import uuid

myUUID = uuid.uuid4()
print(f"UUID/GUID -> {myUUID}")

输出:

UUID/GUID -> XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

在上面的代码中,uuid4() 方法生成一个随机 UUID。该函数返回的 UUID 的类型为 uuid.UUID。在输出中,程序将输出字母数字字符串,而不是 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

你可以通过运行以下命令-print(type(uuid.uuid4())) 进行检查。它将打印以下内容-<class 'uuid.UUID'>

你始终可以将返回的 UUID 转换为字符串。请参考以下代码。

import uuid

myUUID = uuid.uuid4()
print(type(myUUID))
print(myUUID)
myUUIDString = str(myUUID)
print(type(myUUIDString))
print(myUUIDString)

输出:

<class 'uuid.UUID'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
<class 'str'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

如果要基于计算机的当前时间和主机 ID 生成 UUID,在这种情况下,请使用以下代码块。

import uuid

myUUID = uuid.uuid1()
print(f"UUID/GUID based on Host ID and Current Time -> {myUUID}")

输出:

UUID/GUID based on Host ID and Current Time -> 
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

要了解有关 uuid 的更多信息,请参考官方文档

作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.