2010-12-29 14 views
2

Je prévois de créer un identifiant unique à partir de caractères et de chiffres. L'ID devrait ressembler à ceciGénérer un identifiant unique caractérisé en Python

XXXX-XXXX-XXXX-XXXX

où X est une combinaison de chiffres et de lettres, de petites capitalisations. Cet identifiant sera stocké dans une base de données mysql et sera incrémenté pour maintenir la cohérence des données.

Un conseil pour commencer?

+0

Cela ressemble à http://stackoverflow.com/questions/534839/how-to-create-a-guid-in-python et la question suivante logique pourrait être liée à http: // stackoverflow. com/questions/412341/how-should-je-store-guid-in-mysql-tables concernant le stockage des GUID dans MySQL. – Suirtimed

Répondre

16

utiliser le module uuid;

>>> import uuid 

# make a UUID based on the host ID and current time 
>>> uuid.uuid1() 
UUID('a8098c1a-f86e-11da-bd1a-00112444be1e') 

# make a UUID using an MD5 hash of a namespace UUID and a name 
>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org') 
UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e') 

# make a random UUID 
>>> uuid.uuid4() 
UUID('16fd2706-8baf-433b-82eb-8c7fada847da') 

# make a UUID using a SHA-1 hash of a namespace UUID and a name 
>>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org') 
UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d') 

Votre exigence de 4 caractères peut être émulée avec;

>>> "-".join([x[:4].upper() for x in str(uuid.uuid4()).split("-")]) 
'C984-EE70-4BFD-9963-9BB9' 
>>> "-".join([x[:4].upper() for x in str(uuid.uuid4()).split("-")]) 
'30D7-4356-493E-B887-2671 
+0

merci pour la réponse, c'est exactement ce que je cherchais, –

Questions connexes