在 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