如何在Python中生成唯一ID?
我需要根据一个随机值生成一个独特的ID。
8 个回答
30
“唯一”和“随机”是互相排斥的。也许你想要的是这个?
import random
def uniqueid():
seed = random.getrandbits(32)
while True:
yield seed
seed += 1
用法:
unique_sequence = uniqueid()
id1 = next(unique_sequence)
id2 = next(unique_sequence)
id3 = next(unique_sequence)
ids = list(itertools.islice(unique_sequence, 1000))
返回的每个ID都是不一样的(唯一),而且这个ID是基于一个随机的种子值生成的。
174
你可能会想用Python的UUID功能:
21.15. uuid — 根据RFC 4122的UUID对象
比如:
import uuid
print uuid.uuid4()
7d529dd4-548b-4258-aa8e-23e34dc8d43d
206
也许 uuid.uuid4()
可以解决这个问题。想了解更多信息,可以查看 uuid 的文档。