Générer des chaînes aléatoires en Python

Muhammad Waiz Khan 30 janvier 2023
  1. Générer des chaînes aléatoires en Python en utilisant les méthodes random.choice() et string.join()
  2. Générer une chaîne aléatoire en Python en utilisant la méthode uuid.uuid4()
  3. Générer une chaîne aléatoire en Python à l’aide de la méthode StringGenerator.render_list()
Générer des chaînes aléatoires en Python

Dans ce tutoriel, nous examinerons différentes méthodes pour générer des chaînes aléatoires en Python. Les techniques de génération de chaînes aléatoires sont utilisées pour générer des noms d’utilisateurs, des mots de passe ou des noms de fichiers aléatoires, etc.

Dans certains cas, nous avons besoin de chaînes cryptographiquement sécurisées, c’est-à-dire d’un mot de passe aléatoire ou d’une génération de clé. Des chaînes aléatoires suffiront si nous devons utiliser les chaînes aléatoires comme nom d’utilisateur et nom de fichier aléatoires, etc. Nous discuterons des deux types de génération de chaînes aléatoires dans ce didacticiel, qui sont expliquées ci-dessous.

Générer des chaînes aléatoires en Python en utilisant les méthodes random.choice() et string.join()

La méthode random.choice(seq) renvoie un élément choisi au hasard dans la séquence seq fournie en entrée. Et la méthode string.join(iterable) joint les éléments de iterable en utilisant la valeur fournie de la string comme séparateur et renvoie la chaîne résultante en sortie.

Pour générer une chaîne aléatoire en Python, nous devons fournir la séquence de caractères à partir de laquelle nous voulons que notre code génère la chaîne aléatoire à la méthode random.choice(). La séquence d’entrée peut être composée de majuscules, de petits alphabets, de chiffres et de signes de ponctuation, etc.

On peut utiliser respectivement string.ascii_uppercase et string.ascii_lowercase pour la séquence des majuscules et des petits alphabets, string.ascii_letters pour les deux, string.digits pour la séquence de chiffres et string.punctuation pour la séquence des signes de ponctuation en Python.

L’exemple de code ci-dessous montre comment générer le type de chaîne aléatoire requis en utilisant les méthodes random.choice() et string.join() en 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)
        )
    )

Production:

wOy5ezjl
j34JN8By
clA5SNZ6
D8K0eggH
6LjRuYsb

Pour générer les chaînes aléatoires sécurisées cryptographiquement, nous pouvons utiliser la méthode random.SystemRandom(), qui génère des nombres aléatoires à partir des sources du système d’exploitation.

Exemple de code:

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)
        )
    )

Production:

PEQBU72q
xuwUInGo
asVWVywB
SAsMRjka
CrbIpuR6

Générer une chaîne aléatoire en Python en utilisant la méthode uuid.uuid4()

La méthode uuid.uuid4() génère et renvoie un UUID aléatoire. L’UUID est un identifiant unique universel de 128 bits utilisé pour identifier des informations dans un système ou un réseau.

Cette méthode est utile dans le cas où nous voulons générer des identifiants aléatoires et uniques à partir des chaînes aléatoires. L’exemple de code ci-dessous montre comment utiliser la méthode uuid.uuid4() pour obtenir une chaîne aléatoire en Python.

import uuid

print(uuid.uuid4())

Production:

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

Générer une chaîne aléatoire en Python à l’aide de la méthode StringGenerator.render_list()

Le StringGenerator().render_list() est un moyen simple de générer plusieurs chaînes aléatoires en Python. Le StringGenerator() prend l’expression régulière comme entrée, qui définit les caractères à utiliser pour générer les chaînes aléatoires. Dans la méthode renderlist(len, unique=), len spécifie la longueur de la liste de sortie contenant les chaînes aléatoires, et l’argument mot-clé unique peut être mis à True si nous voulons les chaînes de sortie uniques.

Le module StringGenerator doit d’abord être installé pour utiliser cette méthode. L’exemple de code ci-dessous montre comment utiliser la méthode StringGenerator.render_list() pour générer les chaînes aléatoires en Python.

from strgen import StringGenerator

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

Production:

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

Article connexe - Python String