python 如何生成uuid

UUID(Universally Unique Identifier)它是通用的唯一识别码,用于许多领域的识别。例如,我们常用的数据库也可以用作主键。原则上,它可以为任何东西编码唯一的代码。作为一个新手,当你看到像varchar(40)这样的主键时,你会感到有点困惑,字符串类型不能自行添加。UUID应该在这里使用。数据库通常有自己的方法生成UUID,但虽然可以使用,但考虑到可读性和一个小坑的长度,尽量不要使用它作为主键。
相关推荐:Python教程
以下是python如何生成UUID的简要说明:python有一个叫做UUID的模块,导入它就可以使用它的四种方法。请注意,这四种方法依次是UUID1()、UUID3()、UUID4()和UUID5(),但没有UUID2()。
#-*-coding:utf-8-*- importuuid printuuid.uuid1() #bf1dfacf-67d8-11e8-9a23-408d5c985711 printuuid.uuid3(uuid.NAMESPACE_DNS,'yuanlin') #ddb366f5-d4bc-3a20-ac68-e13c05005 printuuid.uuid4() #144d622b-e83a-40ea-8ca1-66af866ca printuuid.uuid5(uuid.NAMESPACE_DNS,'yuanlin') #447c18d-037a-5df6-9e12-20b6434c334d
乍一看都是36个字符,那么它们有什么区别呢?下面逐一分析。
uuid1():这是根据当前的时间戳和MAC地址生成的。MAC地址对应于最后12个字符408d5c985711。因为它是MAC地址,所以不应该说它的唯一性。但生成后暴露MAC地址是非常糟糕的。
uuid3():我们指定了namespace和特定的字符串,然后应该通过MD5生成,我们很少使用,莫名其妙的感觉。
uuid4():这是基于随机数量的uuid。既然是随机的,可能真的会遇到同样的情况,但是就像中奖一样,概率很小。因为是随机的,使用方便,所以还是有很多用这个的。
uuid5():这看起来和uuid3()没什么区别。写作方法一样,用户也会指定namespace和字符串,但这里使用的散列不是MD5,而是SHA1。
让我们谈谈UUID中间'的简单处理;-'这是一个奇怪的字符,所以它应该被删除,这实际上是超级简单的:
uid=str(uuid.uuid4()suid=''.join(uid.split('-')) 