Genera stringhe casuali in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Genera stringhe casuali in Python usando i metodi random.choice() e string.join()
  2. Genera una stringa casuale in Python usando il metodo uuid.uuid4()
  3. Genera una stringa casuale in Python usando il metodo StringGenerator.render_list()
Genera stringhe casuali in Python

In questo tutorial, esamineremo vari metodi per generare stringhe casuali in Python. Le tecniche di generazione di stringhe casuali vengono utilizzate per generare nomi utente, password o nomi di file casuali, ecc.

In alcuni casi, abbiamo bisogno di stringhe crittograficamente sicure, ad esempio password o generazione di chiavi casuali. Solo stringhe casuali saranno sufficienti se dobbiamo usare le stringhe casuali come nome utente e nome file casuali, ecc. Discuteremo entrambi i tipi di generazione di stringhe casuali in questo tutorial, che sono spiegati di seguito.

Genera stringhe casuali in Python usando i metodi random.choice() e string.join()

Il metodo random.choice(seq) restituisce un elemento scelto casualmente dalla sequenza seq fornita come input. E il metodo string.join(iterable) unisce gli elementi di iterable utilizzando il valore fornito di string come separatore e restituisce la stringa risultante come output.

Per generare una stringa casuale in Python, dobbiamo fornire la sequenza di caratteri da cui vogliamo che il nostro codice generi la stringa casuale al metodo random.choice(). La sequenza di input può essere composta da lettere maiuscole, piccoli alfabeti, cifre e segni di punteggiatura, ecc.

Possiamo usare string.ascii_uppercase e string.ascii_lowercase rispettivamente per la sequenza di caratteri maiuscoli e piccoli, string.ascii_letters per entrambi, string.digits per la sequenza di cifre e string.punctuation per la sequenza di segni di punteggiatura in Python.

Il codice di esempio sotto mostra come generare il tipo richiesto di stringa casuale usando i metodi random.choice() e string.join() in Python.

import string
import random

number_of_strings = 5
length_of_string = 8
for x in range(number_of_strings):
    print(
        "".join(
            random.choice(string.ascii_letters + string.digits)
            for _ in range(length_of_string)
        )
    )

Produzione:

wOy5ezjl
j34JN8By
clA5SNZ6
D8K0eggH
6LjRuYsb

Per generare le stringhe casuali protette crittograficamente, possiamo usare il metodo random.SystemRandom(), che genera numeri casuali dalle sorgenti del sistema operativo.

Codice di esempio:

import string
import random

number_of_strings = 5
length_of_string = 8
for x in range(number_of_strings):
    print(
        "".join(
            random.SystemRandom().choice(string.ascii_letters + string.digits)
            for _ in range(length_of_string)
        )
    )

Produzione:

PEQBU72q
xuwUInGo
asVWVywB
SAsMRjka
CrbIpuR6

Genera una stringa casuale in Python usando il metodo uuid.uuid4()

Il metodo uuid.uuid4() genera e restituisce un UUID casuale. L’UUID è un identificatore universalmente univoco e lungo 128 bit utilizzato per identificare le informazioni in un sistema o in una rete.

Questo metodo è utile nel caso in cui desideriamo generare identificatori casuali e univoci dalle stringhe casuali. Il codice di esempio sotto mostra come utilizzare il metodo uuid.uuid4() per ottenere una stringa casuale in Python.

import uuid

print(uuid.uuid4())

Produzione:

440a93fe-45d7-4ccc-a6ee-baf10ce7388a

Genera una stringa casuale in Python usando il metodo StringGenerator.render_list()

StringGenerator().render_list() è un modo semplice per generare più stringhe casuali in Python. Il StringGenerator() accetta l’espressione regolare come input, che definisce i caratteri che dovrebbero essere usati per generare le stringhe casuali. Nel metodo renderlist(len, unique=), len specifica la lunghezza dell’lista di output contenente le stringhe casuali e l’argomento della parola chiave unique può essere impostato su True se vogliamo le stringhe di output univoche.

Il modulo StringGenerator deve essere installato prima per utilizzare questo metodo. Il codice di esempio seguente mostra come utilizzare il metodo StringGenerator.render_list() per generare stringhe casuali in Python.

from strgen import StringGenerator

StringGenerator("[\l\d]{10}").render_list(3, unique=True)

Produzione:

['m98xQHMlBI', 'V4O8hPMWfh', 'cBJk3XcGny']

Articolo correlato - Python String