使用python UUID模块进行UUID检查会更改UUID

时间:2017-02-01 02:08:18

标签: python uuid

当我使用python UUID()模块中的uuid函数检查我们的一个测试用户时,我遇到了这种奇怪的行为。

from uuid import UUID uuid1 = UUID('00000000-0000-0000-0000-000000000000', version=1) print uuid1 00000000-0000-1000-8000-000000000000

没有它按预期工作的版本 uuid0 = UUID('00000000-0000-0000-0000-000000000000') print uuid0 00000000-0000-0000-0000-000000000000

这是预期的行为吗?我还需要担心其他任何副作用吗?

有没有更安全或更好的方法来测试python中的uuids我应该使用而不是UUID()函数或者我滥用这个函数?

1 个答案:

答案 0 :(得分:2)

来自代码评论

 The 'version' argument is optional; if given, the resulting
        UUID will have its variant and version set according to RFC 4122,
        overriding the given 'hex', 'bytes', 'bytes_le', 'fields', or 'int'.

RFC versions

要生成uuid,您可以使用以下功能之一,具体取决于uuid类型

uuid1(), uuid3(), uuid4(), uuid5()

因为您已经知道UUID()将UUID解析为对象

Python Docs