首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中创建GUID/UUID

如何在Python中创建GUID/UUID
EN

Stack Overflow用户
提问于 2009-02-11 07:51:21
回答 6查看 671K关注 0票数 892

如何在Python中创建独立于平台的GUID?我听说有一种在Windows上使用ActivePython的方法,但它只在Windows中使用,因为它使用COM。有没有使用纯Python的方法?

EN

回答 6

Stack Overflow用户

发布于 2009-02-10 23:55:52

如果您使用的是Python 2.5或更高版本,uuid module已经包含在Python标准发行版中。

例如:

代码语言:javascript
复制
>>> import uuid
>>> uuid.uuid4()
UUID('5361a11b-615c-42bf-9bdb-e2c3790ada14')
票数 342
EN

Stack Overflow用户

发布于 2012-06-12 00:47:54

我使用GUID作为数据库类型操作的随机键。

十六进制的形式,加上破折号和额外的字符,对我来说似乎不必要地长。但我也喜欢表示十六进制数字的字符串非常安全,因为它们不包含在某些情况下可能会导致问题的字符,例如'+‘、'=’等。

我不使用十六进制,而是使用url安全的base64字符串。以下内容不符合任何UUID/GUID规范(除了具有所需的随机性)。

代码语言:javascript
复制
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('=', '')
票数 29
EN

Stack Overflow用户

发布于 2019-06-25 16:38:01

如果您需要为您的模型或唯一字段的主键传递UUID,那么下面的代码将返回UUID对象-

代码语言:javascript
复制
import uuid
 uuid.uuid4()

如果你需要传递UUID作为URL的参数,你可以像下面的代码那样做-

代码语言:javascript
复制
import uuid
str(uuid.uuid4())

如果您想要一个UUID的十六进制值,您可以执行以下操作-

代码语言:javascript
复制
import uuid    
uuid.uuid4().hex
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/534839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档