Bruker uuid i python

Bruker uuid i python
Python har et bibliotek som heter UUID (Universal Unique Identifier) å generere et tilfeldig objekt på 128 biter. Dette biblioteket genererer unike ID -er basert på systemtiden og nettverksadressen til datamaskinen. UUID -objektet er uforanderlig og det inneholder noen funksjoner for å lage forskjellige unike ID -er. UUID brukes til mange formål, for eksempel å lage en unik tilfeldig ID, en ID-basert MAC-adresse, kryptografiske hasjverdier eller tilfeldige dokumenter. Denne opplæringen vil vise deg hvordan du kan lage forskjellige typer UUID -biblioteker ved å bruke forskjellige UUID -funksjoner.

Eksempel 1: Opprett UUID basert på systemtid og MAC -adresse

Følgende eksempel viser bruken av uuid1 () funksjon av uuid modul for å generere forskjellige UUID -verdier og for å lese og skrive ut de forskjellige egenskapsverdiene til UUID -objektet. EN Uid objektet er definert ved å ringe uuid1 () Metode for å generere en unik ID basert på systemtiden og MAC -adressen. Deretter er den normalt genererte ID, den tilsvarende byteverdien, heltallverdien og HEX -verdien til ID -en skrives ut. Versjonen, feltene, noden og tidsegenskapene til IDen skrives deretter ut i neste del av skriptet.

#!/usr/bin/env python3
#Import UUID -modul
Importer uuid
# Lag tilfeldig ID ved hjelp av UUID1 ()
Uid = uuid.uuid1 ()
# Skriv ut normal ID
trykk ("Normalverdien:", uid)
# Skriv ut byte -ID
trykk ("Byteverdien:", repr (uid.byte))
# Skriv ut heltall -IDen
trykk ("Heltallverdien:", uid.int)
# Skriv ut hex -IDen
trykk ("Hex -verdien:", uid.hex)
# Skriv ut versjonsnummeret
trykk ("Versjonen er:", uid.versjon)
# Skriv ut feltverdiene
trykk ("Feltene er:", uid.Enger)
# Skriv ut Mac -verdien i Hex
trykk ("Nodeverdien er:", hex (uid.node))
# Skriv ut tidsverdien
trykk ("Tidsverdien er:", uid.tid)

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. Utgangen viser at standard ID -verdien ble generert i HEX -format ved å skille de forskjellige delene med bindestrek. Den siste delen av ID -verdien inneholder MAC -adressen, som alltid vil være den samme. De Node Egenskapen til ID -objektet inneholder MAC -adressen.

Eksempel 2: Generer SHA-1 og MD5-verdiene til vertsnavnet ved bruk av UUID3 () og UUID5 ()

En viktig bruk av UUID er å lage kryptografiske hasjverdier. uuid3 () og uuid5 () funksjoner av uuid Modul brukes til å generere MD5 og Sha-1 verdier. I det følgende skriptet, en tuplevariabel som heter verter Erklæres med tre gyldige URL -adresser. Verdiene til tupelen er iterert ved hjelp av for -loopen. De MD5 og Sha-1 Verdiene for hver URL blir deretter beregnet og trykt i hver iterasjon av loopen.

#!/usr/bin/env python3
# Importer UUID -modul
Importer uuid
# Definer av en tuple av tre vertsnavn
Hosts = ('www.Linuxhint.com ',' www.Google.com ',' www.Fahmidasclassroom.com ')
# Itererer verdiene til tupelen ved hjelp av loop
For vertsnavn i verter:
# Skriv ut vertsnavnet
Print ("Hostname:", Hostname)
# Bruk UUID5 () for å få SHA-1-verdi
trykk ('\ the sha-1-verdien:', uuid.uuid5 (uuid.Namespace_dns, vertsnavn))
# Bruk UUID3 () for å få MD5 -verdi
trykk ('\ the MD5 -verdien:', uuid.uuid3 (uuid.Namespace_dns, vertsnavn))

Produksjon

Følgende utgang vises etter å ha kjørt skriptet.

Eksempel 3: Lag tilfeldige tall ved hjelp av UUID4 ()

Hvis du ønsker å generere UUID tilfeldig, bør du bruke uuid4 () funksjon av uuid modul. Følgende skript vil generere fem UUID -er basert på tilfeldige verdier via uuid4 () metode. De samtidig som Loop brukes her til å ringe uuid4 () Metode fem ganger og skriv ut de tilfeldig genererte UUID -verdiene.

#!/usr/bin/env python3
# Importer UUID -modul
Importer uuid
# Initialiser variabelen
i = 1
# Itererer sløyfen fem ganger
mens jeg<6):
# Generer et tilfeldig tall
trykk ("NO-", I, ", UUID.uuid4 ())
# Øk verdien med en
i = i + 1

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. Hvis du kjører skriptet flere ganger, vil det generere forskjellige UUID -er til forskjellige tider.

Eksempel 4: Lag sortert UUID fra en liste ved hjelp av UUID -objekt

Følgende skript viser hvordan du kan konvertere elementene i en liste til UUIDS og skrive ut verdiene etter sortering. Her, The liste_ids Variabel er deklarert med fire listeelementer, der hver vareverdi må være i gyldig UUID -format. Først de opprinnelige verdiene til liste_ids skrives ut. Deretter konverteres hver elementverdi på listen til UUID ved hjelp av en sløyfe i prøve blokkere. Hvis liste_ids Inneholder hvilken som helst vareverdi som ikke samsvarer med UUID -formatet, deretter a ValueError Unntak vil bli generert, og en feilmelding vil bli skrevet ut. Hvis ingen feil oppstår på konverteringstidspunktet, blir de konverterte UUID -ene sortert ved hjelp av sortere() metode. Deretter skrives de sorterte UUID -verdiene ved hjelp av til Løkke.

#!/usr/bin/env python3
# Importer UUID -modul
Importer uuid
# Opprett en liste over ID -er med gyldig format
list_ids = [
'A4F8DD97-C8BE-345B-239E-8A68E6ABF800',
'673A5AA-56C6-AAAA-BC45-4536CD9067AC',
'DCBBAA88-5BF1-11DD-AB48-990AB200D674',
'4567AABB-89AD-77AB-67AD-AAACCDD904AE'
]
# Skriv ut listeverdiene ved hjelp av loop
Skriv ut ('\ N -verdiene på listen:')
for val in list_ids:
trykk (val)
# Verdiene på listen vil bli konvertert til UUID -er og sortert
prøve:
uuider = [uuid.Uuid (er) for s i list_ids]
uuider.sortere()
skriv ut ('\ nverdiene til de sorterte uuidene:')
for val in uuider:
trykk (val)
unntatt ValueError:
# Skriv ut feilmelding hvis noen verdi av listen er i ugyldig format
trykk ('dårlig dannet heksadesimal uuid streng')

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. Her er alle elementene på listen i riktig UUID -format. Så ingen verdi vil bli generert. Den første delen av utdataene trykket de originale listeelementene, og den andre delen av utdataene trykket de sorterte verdiene til UUID -ene.

Konklusjon

Du kan bli pålagt å generere UUID i Python for forskjellige programmeringsformål. Denne opplæringen viste deg hvordan du kan generere forskjellige UUID -er ved hjelp av en rekke metoder. Etter å ha lest denne artikkelen og praktisert de inkluderte eksemplene, bør du kunne lage UUID -er i henhold til dine programmeringsbehov.