uuid模块适用于生成一些名称不重复、唯一的又希望复杂一点的、图片、文件、数据库等名称。
uuid也是Python中一个内置模块,不需要自行安装,直接导入即可:import uuid。
uuid是“Universally Unique Identifier”的缩写。
我在这里介绍uuid模块生成id的几个方法:
PS: 不要问我为什么没有uuid2()
1.uuid.uuid1(node, clock_seq),参数node是硬件地址,如果未给出此参数,则程序自动使用getnode()方法获取硬件地址;参数clock_seq是生成的UUID中14位序列号,如果未给出,则程序随机生成。
2.uuid.uuid3(namespace, name),参数namespace是使用uuid1()方法生成的id,参数name是一个字符串名称,程序将通过MD5把这两个参数合并生成一个新的UUID。
3.uuid.uuid4(),这个方法没有参数,作用是随机生成一个UUID。
4.uuid.uuid5(namespace, name),参数namespace是使用uuid1()方法生成的id,参数name是一个字符串名称,程序将通过sha1把这两个参数合并生成一个新的UUID。
程序实例:
import uuid
name = 'test_name'
namespace = uuid.uuid1()
print(namespace)
print(uuid.uuid3(namespace, name)) # namespace 必须是UUID
print(uuid.uuid4())
print(uuid.uuid5(namespace, name))