使用 uuid 实现自定义前缀

Implementing custom prefix using uuid

我查看了 python UUID 模块的文档。

>>> uuid.uuid4()
UUID('82fe5629-6680-4b13-a4e3-7a082f10e038')
>>> uuid.uuid4()
UUID('b2721a42-5645-4deb-bbbd-6ba1a55820d8')
>>> uuid.uuid4()
UUID('632736f8-a935-4335-a56d-56cd8ebc7dbf')
>>> uuid.uuid4()
UUID('a3519262-72d6-40ce-8e49-f65e8637ec07')

每次生成一个随机值。但我的问题是,如果我需要修复第一个值而其余值是随机的怎么办。可能吗?

例如,

>>> uuid.somefn("a3519262")
UUID('a3519262-72d6-40ce-8e49-f65e8637ec07')
>>> uuid.somefn("a3519262")
UUID('a3519262-a935-4335-a56d-56cd8ebc7dbf')

我寻找这个解决方案的原因: 我有多个系统与一个集中式系统通信,因此基于 uuid,我想在系统上隔离 source/load 以用于度量目的。也欢迎任何替代解决方案。

提前致谢。

有时一直在寻找这个解决方案,但只是为了完成您的工作!我想你会用一种非常 hacky 的方式来实现这个。

>>>custom_uuid = str(uuid.uuid4())
>>>custom_uuid
'a3519262-72d6-40ce-8e49-f65e8637ec07'

因此您可以在将字符串存储到数据库或类似的东西之前对其进行操作。

>>>custom_uuid
'a3519262-72d6-40ce-8e49-f65e8637ec07'
>>>"prefix_" + custom_uuid
>>>'prefix_a3519262-72d6-40ce-8e49-f65e8637ec07'

>>>'a3519262-72d6-40ce-8e49-f65e8637ec07' + "_suffix"
>>>'a3519262-72d6-40ce-8e49-f65e8637ec07_suffix'