如何在Python中创建独立于平台的GUID?我听说有一种在Windows上使用ActivePython的方法,但它只在Windows中使用,因为它使用COM。有没有使用纯Python的方法?
发布于 2009-02-10 23:55:52
如果您使用的是Python 2.5或更高版本,uuid module已经包含在Python标准发行版中。
例如:
>>> import uuid
>>> uuid.uuid4()
UUID('5361a11b-615c-42bf-9bdb-e2c3790ada14')
发布于 2012-06-12 00:47:54
我使用GUID作为数据库类型操作的随机键。
十六进制的形式,加上破折号和额外的字符,对我来说似乎不必要地长。但我也喜欢表示十六进制数字的字符串非常安全,因为它们不包含在某些情况下可能会导致问题的字符,例如'+‘、'=’等。
我不使用十六进制,而是使用url安全的base64字符串。以下内容不符合任何UUID/GUID规范(除了具有所需的随机性)。
import base64
import uuid
# get a UUID - URL safe, Base64
def get_a_uuid():
r_uuid = base64.urlsafe_b64encode(uuid.uuid4().bytes)
return r_uuid.replace('=', '')
发布于 2019-06-25 16:38:01
如果您需要为您的模型或唯一字段的主键传递UUID,那么下面的代码将返回UUID对象-
import uuid
uuid.uuid4()
如果你需要传递UUID作为URL的参数,你可以像下面的代码那样做-
import uuid
str(uuid.uuid4())
如果您想要一个UUID的十六进制值,您可以执行以下操作-
import uuid
uuid.uuid4().hex
https://stackoverflow.com/questions/534839
复制相似问题