Python で GUID/UUID を生成する
UUID は、エンティティまたは情報を一意に定義するためにコンピュータシステムで使用される 128 ビットの数値です。UUID は UniversallyUniqueIdentifier の略です。Microsoft によって作成されたソフトウェアでは、UUID はグローバル一意識別子または GUID と見なされます。
UUID は、システムのタイムスタンプとワークステーションの一意のプロパティの 2つの量に基づいています。この一意のプロパティは、システムの IP(インターネットプロトコル)アドレスまたは 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
の詳細については、公式ドキュメントを参照してください。