Випадковий ідентифікатор в Python
Можна отримати так:
import random
def random_id(length=6):
return ''.join(
random.choice(string.lowercase)
for i in range(length)
)
###############
>>> random_id()
'kqxmua'
Якщо треба особливо оформлений, як от IP, чи MAC-адреса, то можна зробити перетворення:
def asmac(val):
"""Convert a byte string to a MAC address string. """
return ':'.join('%02X' % ord(c) for c in val)
def random_mac():
return asmac(random_id())
###################
>>> random_mac()
'78:71:6A:72:6E:63'
Але такі ідентифікатори як “kqxmua” нормальній людині важко запам’ятати, бо вони не асоціюються з жодними поняттями. Ну окрім частинки “ua”, але й то вона туди випадково потрапила. Проте, в Linux можна легко отримати випадкове слово, бо в ньому є словник:
def random_word():
return random.choice(
open('/usr/share/dict/words').readlines() # жертиме пам’ять!
).strip()
#################
'.join(random_word() for i in range(5))
'hermitical, Canter, Paryavi, mergences, Mind'
Хоча я знайомий лише з “hermitical” та “mind”, але асоціації вже легше побудувати, правда?


А де це можна застосувати на практиці?
Nemo
18 Березня, 2015 at 13:47
У всяких тестах постійно потрібні фальшиві дані, фальшиві імена і т.п.
bunyk
18 Березня, 2015 at 14:19
apt-get install rig # Random Identity Generator 🙂
dmytrish
18 Березня, 2015 at 14:36
Використовую uuid
Nazarii Gudzovatyi (@CounterSparta)
9 Квітня, 2015 at 21:52