Функция uuid4() модуля Python uuid
генерирует случайный UUID и, кажется, генерирует каждый раз каждый раз:
In [1]: import uuid
In [2]: uuid.uuid4()
Out[2]: UUID('f6c9ad6c-eea0-4049-a7c5-56253bc3e9c0')
In [3]: uuid.uuid4()
Out[3]: UUID('2fc1b6f9-9052-4564-9be0-777e790af58f')
Я хотел бы иметь возможность генерировать один и тот же случайный UUID каждый раз, когда я запускаю script - то есть, я хотел бы засеять случайный генератор в uuid4()
. Есть ли способ сделать это? (Или добиться этого другими способами)?
То, что я пробовал до сих пор
Мне нужно сгенерировать UUID с помощью метода uuid.UUID()
со случайным 128-битным целым числом (из семенного экземпляра random.Random()
) в качестве ввода:
import uuid
import random
rd = random.Random()
rd.seed(0)
uuid.UUID(rd.getrandbits(128))
Однако UUID()
, похоже, не принимает это как вход:
Traceback (most recent call last):
File "uuid_gen_seed.py", line 6, in <module>
uuid.UUID(rd.getrandbits(128))
File "/usr/lib/python2.7/uuid.py", line 133, in __init__
hex = hex.replace('urn:', '').replace('uuid:', '')
AttributeError: 'long' object has no attribute 'replace'
Любые другие предложения?