在 Python 中生成 GUID/UUID
Vaibhav Vaibhav
2023年10月10日
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