def unique_id():
available_chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', \
'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', \
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
available_char_count = len(available_chars)
timestamp = int(time.time() * 1000)
# First char
char_index = timestamp % available_char_count
timestamp /= available_char_count
uuid = available_chars[char_index]
last_char = available_chars[char_index]
available_char_count -= 1
for i in xrange(9):
currently_available_chars = list(available_chars)
currently_available_chars.remove(last_char)
char_index = timestamp % available_char_count
timestamp /= available_char_count
uuid = currently_available_chars[char_index] + uuid
last_char = currently_available_chars[char_index]
return uuid
Это должно работать, если ваша система не обеспечивает поддержку time.time()
за 1 секунду при резолюции. Если это так, это позволит генерировать только один уникальный уникальный идентификатор в секунду.
https://docs.python.org/3.4/library/uuid.html – TigerhawkT3
Привет и добро пожаловать в переполнение стека. здесь мы ожидаем, что вы сами решите проблему, сообщите нам, что вы исследовали, и покажите нам код, который вы пробовали (даже если он не работает), чтобы мы могли вам помочь , Пойдите, затем вернитесь и покажите нам, что вы пробовали. –