【原文連結】使用Python生成獨一無二的字元串
文章目錄
- 一、uuid簡介
- 二、生成随機字元串
一、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() 方法生成獨一無二的随機字元串