Получите согласованный идентификатор для скрипта Python, но каждый раз разные
Мне нужна функция для генерации / возврата уникального идентификатора в скрипте Python, но она мне нужна для удовлетворения нескольких требований:
- Должен быть разным каждый пробег
- Должно быть одинаковым значением в пределах одного прогона, даже если:
- Несколько классов называют это
- Несколько потоков (xdist) в пределах одного прогона называют его
- Все существующие ссылки на него выходят за рамки
- Если два экземпляра сценария работают одновременно, каждый экземпляр получает свой собственный идентификатор.
Я посмотрел на пакет uuid, но каждый раз при вызове методов он возвращает разные идентификаторы. Как я могу иметь идентификатор быть последовательным на протяжении всего цикла?
1 ответ
Просто поместите идентификатор в переменную и используйте его везде.
Если ваша программа велика, и вы хотите, чтобы все могли получить к ней доступ, сделайте небольшой модуль для ее хранения, скажем, uniqid.py
(или поместите его в какой-нибудь универсальный служебный модуль):
import uuid
uniqid = str(uuid.uuid4())
Тогда всякий раз, когда вам нужно ваше удостоверение личности просто
from uniqid import uniqid
print(uniqid)
Модули создаются только один раз, даже если они импортированы несколькими файлами.