Python

UUID in Python verwenden

UUID in Python verwenden
Python hat eine Bibliothek namens UUID (Universal Unique Identifier) um ein zufälliges Objekt von 128 Bit zu generieren. Diese Bibliothek generiert eindeutige IDs basierend auf der Systemzeit und der Netzwerkadresse des Computers. Das UUID-Objekt ist unveränderlich und enthält einige Funktionen zum Erstellen verschiedener eindeutiger IDs.  UUID wird für viele Zwecke verwendet, z. B. zum Erstellen einer eindeutigen zufälligen ID, einer ID-basierten MAC-Adresse, kryptografischen Hash-Werten oder zufälligen Dokumenten. Dieses Tutorial zeigt Ihnen, wie Sie verschiedene Arten von UUID-Bibliotheken erstellen können, indem Sie verschiedene UUID-Funktionen verwenden.

Beispiel 1: UUID basierend auf Systemzeit und MAC-Adresse erstellen

Das folgende Beispiel zeigt die Verwendung der uuid1() Funktion der uuid Modul zum Generieren verschiedener UUID-Werte und zum Lesen und Drucken der verschiedenen Eigenschaftswerte des UUID-Objekts. EIN UID Objekt wird durch den Aufruf des uuid1() Methode zum Generieren einer eindeutigen ID basierend auf der Systemzeit und der MAC-Adresse. Als nächstes werden die normal generierte ID, der entsprechende Byte-Wert, der Integer-Wert und der Hex-Wert der ID gedruckt.  Die Versions-, Felder-, Knoten- und Zeiteigenschaften der ID werden dann im nächsten Teil des Skripts gedruckt.

#!/usr/bin/env python3
 
#UUID-Modul importieren
UUID importieren
 
# Erstellen Sie eine zufällige ID mit uuid1()
UID = uuid.uuid1()
 
# Drucken Sie die normale ID
print ("Der normale Wert: ",UID)
# Byte-ID drucken
print ("Der Bytewert: ",repr(UID.Byte))
# Geben Sie die Integer-ID aus
print ("Der ganzzahlige Wert: ",UID.int)
# Drucken Sie die Hex-ID
print ("Der Hex-Wert: ",UID.verhexen)
 
# Drucken Sie die Versionsnummer
print ("Die Version ist:", UID.Ausführung)
# Feldwerte drucken
print ("Die Felder sind: ", UID.Felder)
# MAC-Wert in Hex ausgeben
print ("Der Knotenwert ist: ", hex(UID.Knoten))
# Zeitwert drucken time
print ("Der Zeitwert ist: ", UID.Zeit)

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Die Ausgabe zeigt, dass der Standard-ID-Wert im Hex-Format generiert wurde, indem die einzelnen Teile durch einen Bindestrich getrennt wurden. Der letzte Teil des ID-Werts enthält die MAC-Adresse, die immer gleich ist. Das Knoten Eigenschaft des ID-Objekts enthält die MAC-Adresse.

Beispiel 2: Generieren Sie SHA-1- und MD5-Werte des Hostnamens mit uuid3() und uuid5()

Eine wichtige Verwendung von UUID besteht darin, kryptografische Hashwerte zu erstellen. uuid3() und uuid5() Funktionen der uuid Modul werden verwendet, um MD5 und SHA-1 Werte. Im folgenden Skript wird eine Tupelvariable namens Gastgeber wird mit drei gültigen URL-Adressen deklariert. Die Werte des Tupels werden mit der for-Schleife iteriert. Das MD5 und der SHA-1 Werte jeder URL werden dann in jeder Iteration der Schleife berechnet und gedruckt.

#!/usr/bin/env python3
# UUID-Modul importieren
UUID importieren
 
# Definiere ein Tupel von drei Hostnamen
hosts = ('www.linuxhint.com', 'www.Google.com', 'www.fahmidasklassenzimmer.com")
 
# Iteriere die Werte des Tupels mit Schleife
für Hostnamen in Hosts:
# Drucken Sie den Hostnamen aus
print("Hostname: ",Hostname)
# Verwenden Sie uuid5(), um den SHA-1-Wert zu erhalten
print('\tDer SHA-1-Wert:', uuid.uuid5(uuid.NAMESPACE_DNS, Hostname))
# Verwenden Sie uuid3(), um den MD5-Wert zu erhalten
print('\tDer MD5-Wert   :', uuid.uuid3(uuid.NAMESPACE_DNS, Hostname))

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Beispiel 3: Erstellen Sie Zufallszahlen mit uuid4()

Wenn Sie die UUID zufällig generieren möchten, sollten Sie die uuid4() Funktion der uuid Modul. Das folgende Skript generiert fünf UUIDs basierend auf Zufallswerten über die uuid4() Methode. Das während loop wird hier verwendet, um die uuid4() Methode fünfmal und drucke die zufällig generierten UUID-Werte.

#!/usr/bin/env python3
 
# UUID-Modul importieren
UUID importieren
# Initialisieren Sie die Variable
ich = 1
# Wiederhole die Schleife fünfmal
während ich<6):
# Generiere eine Zufallszahl
print("Nein-", ich,", uuid.uuid4())
# Erhöhe den Wert um eins
ich = ich + 1

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Wenn Sie das Skript mehrmals ausführen, werden zu unterschiedlichen Zeiten unterschiedliche UUIDs generiert.

Beispiel 4: Erstellen Sie eine sortierte UUID aus einer Liste mit einem UUID-Objekt

Das folgende Skript zeigt, wie Sie die Elemente einer Liste in UUIDs umwandeln und die Werte nach dem Sortieren ausgeben. Hier die list_ids Variable wird mit vier Listenelementen deklariert, wobei jeder Elementwert im gültigen UUID-Format vorliegen muss. Zuerst die ursprünglichen Werte der list_ids sind gedruckt. Als nächstes wird jeder Elementwert der Liste mit einer Schleife in der in UUID konvertiert Versuchen Block. Wenn die list_ids einen Elementwert enthält, der nicht dem UUID-Format entspricht, dann a ValueError Ausnahme wird generiert und eine Fehlermeldung wird gedruckt. Wenn zum Zeitpunkt der Konvertierung kein Fehler auftritt, werden die konvertierten UUIDs nach dem Sortieren() Methode. Als nächstes werden die sortierten UUID-Werte mit dem gedruckt zum Schleife.

#!/usr/bin/env python3
# UUID-Modul importieren
UUID importieren
 
# Erstellen Sie eine Liste mit IDs mit gültigem Format
list_Ids = [
'a4f8dd97-c8be-345b-239e-8a68e6abf800',
'673a5eaa-56c6-aaaa-bc45-4536cd9067ac',
'dcbbaa88-5bf1-11dd-ab48-990ab200d674',
'4567aabb-89ad-77ab-67ad-aaaccdd904ae'
]
 
# Drucken Sie die Listenwerte mit Schleife
print('\nDie Werte der Liste:')
für val in list_Ids:
drucken (val)
 
# Die Werte der Liste werden in UUIDs umgewandelt und sortiert
Versuchen:
uuids = [ uuid.UUID(s) für s in list_Ids ]
uuids.Sortieren()
print('\nDie Werte der sortierten UUIDs:')
für val in uuids:
drucken (val)
außer ValueError:
# Fehlermeldung drucken, wenn ein Wert der Liste ein ungültiges Format hat
print('Schlecht gebildeter hexadezimaler UUID-String')

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Hier haben alle Elemente in der Liste das richtige UUID-Format. Es wird also kein ValueError generiert. Der erste Teil der Ausgabe druckte die ursprünglichen Listenelemente und der zweite Teil der Ausgabe druckte die sortierten Werte der UUIDs.

Fazit

Möglicherweise müssen Sie für verschiedene Programmierzwecke eine UUID in Python generieren. Dieses Tutorial hat Ihnen gezeigt, wie Sie mit verschiedenen Methoden verschiedene UUIDs generieren. Nachdem Sie diesen Artikel gelesen und die enthaltenen Beispiele geübt haben, sollten Sie in der Lage sein, UUIDs gemäß Ihren Programmieranforderungen zu erstellen.

Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...