在Python中生成特征化的唯一ID

Mo *_*abi 2 python

我打算从字符和数字创建一个唯一的ID.ID应该看起来像这样

XXXX-XXXX-XXXX-XXXX

其中X是数字,小写和上限字母的组合.此Id将存储在mysql数据库中,并将增加以保持数据的一致性.

关于如何开始的任何建议?

ism*_*ail 16

使用uuid模块;

>>> import uuid

# make a UUID based on the host ID and current time
>>> uuid.uuid1()
UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')

# make a UUID using an MD5 hash of a namespace UUID and a name
>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')

# make a random UUID
>>> uuid.uuid4()
UUID('16fd2706-8baf-433b-82eb-8c7fada847da')

# make a UUID using a SHA-1 hash of a namespace UUID and a name
>>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')
Run Code Online (Sandbox Code Playgroud)

您的4个字符的要求可以模拟;

>>> "-".join([x[:4].upper() for x in str(uuid.uuid4()).split("-")])
'C984-EE70-4BFD-9963-9BB9'
>>> "-".join([x[:4].upper() for x in str(uuid.uuid4()).split("-")])
'30D7-4356-493E-B887-2671
Run Code Online (Sandbox Code Playgroud)