一、uuid简介
-
uuid.uuid1() 基于MAC地址、时间戳、随机数来生成唯一的uuid
-
uuid.uuid2() 基于分布式计算环境DCE(python中没有该函数),算法与uuid1相同,但是将时间戳的前四位换成posix的UID
-
uuid.uuid3() 基于计算名字与命名空间,同一命名空间不同名字结果不同,同一名字不同命名空间结果不同,但是相同名字相同命名空间会是结果一直
-
uuid.uuid4() 基于(伪)随机数,有一定的重复概率
-
uuid.uuid5() 基于名字,与算法uuid3大致相同
二、生成随机字符串
通过上述uuid简介,可以得出使用uuid.uuid1()基本上可以做到独一无二的随机字符串
比如如下代码,连续生成10个随机字符串,并打印出来
import uuid
for i in range(10):
name=str(uuid.uuid1())
print(name)
执行结果如下,可以看出,虽然是同一台电脑几乎同一时间,生成的字符串仍然是不相同的。
下面可以在代码中增加sleep等待
import uuid
import time
for i in range(10):
time.sleep(1)
name=str(uuid.uuid1())
print(name)
增加时间间隔后,可以发现第一列的随机性更大了
因此,可以放心的使用 uuid.uuid1() 方法生成独一无二的随机字符串