Получить согласованный идентификатор для скрипта Python, но каждый раз отличаться - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужна функция для генерации / возврата уникального идентификатора в скрипте Python, но она мне нужна для удовлетворения нескольких требований:

  • Должно быть разным при каждом запуске
  • Должно быть одинаковым значением в пределах одного прогона, даже если:
    • Несколько классов называют это
    • Несколько потоков (xdist) в пределах одного прогона называют его
    • Все существующие ссылки на него выходят за рамки
  • Если два экземпляра сценария работают одновременно, каждый экземпляр получает свой собственный идентификатор.

Я посмотрел на пакет uuid, но каждый раз при вызове методов он возвращает разные идентификаторы. Как я могу иметь идентификатор быть последовательным на протяжении всего прогона?

1 Ответ

0 голосов
/ 27 апреля 2018

Просто поместите идентификатор в переменную и используйте его везде.

Если ваша программа велика и вам нужен более простой способ получить к ней доступ, создайте небольшой модуль для ее хранения, скажем uniqid.py (или поместите в какой-нибудь универсальный служебный модуль):

import uuid

uniqid = str(uuid.uuid4())

Тогда, когда вам понадобится ваш идентификатор, просто

from uniqid import uniqid

print(uniqid)

Модули создаются только один раз, даже если они импортированы несколькими файлами.

...