Generar cadenas aleatorias en Python
-
Genere cadenas aleatorias en Python utilizando los métodos
random.choice()
ystring.join()
-
Genere una cadena aleatoria en Python usando el método
uuid.uuid4()
-
Genere una cadena aleatoria en Python usando el método
StringGenerator.render_list()
En este tutorial, analizaremos varios métodos para generar cadenas aleatorias en Python. Las técnicas de generación de cadenas aleatorias se utilizan para generar nombres de usuario, contraseñas o nombres de archivo aleatorios, etc.
En algunos casos, necesitamos cadenas criptográficamente seguras, es decir, contraseña aleatoria o generación de claves. Solo las cadenas aleatorias serán suficientes si necesitamos usar las cadenas aleatorias como nombre de usuario y nombre de archivo aleatorios, etc. Analizaremos ambos tipos de generación de cadenas aleatorias en este tutorial, que se explica a continuación.
Genere cadenas aleatorias en Python utilizando los métodos random.choice()
y string.join()
El método random.choice(seq)
devuelve un elemento elegido al azar de la secuencia seq
proporcionada como entrada. Y el método string.join(iterable)
une los elementos del iterable
utilizando el valor proporcionado de la string
como separador y devuelve la cadena resultante como salida.
Para generar una cadena aleatoria en Python, necesitamos proporcionar la secuencia de caracteres a partir de la cual queremos que nuestro código genere la cadena aleatoria al método random.choice()
. La secuencia de entrada puede constar de letras mayúsculas, alfabetos pequeños, dígitos y signos de puntuación, etc.
Podemos usar string.ascii_uppercase
y string.ascii_lowercase
para la secuencia de letras mayúsculas y minúsculas respectivamente, string.ascii_letters
para ambos, string.digits
para la secuencia de dígitos y string.punctuation
para la secuencia de signos de puntuación en Python.
El siguiente código de ejemplo demuestra cómo generar el tipo requerido de cadena aleatoria usando los métodos random.choice()
y 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)
)
)
Producción :
wOy5ezjl
j34JN8By
clA5SNZ6
D8K0eggH
6LjRuYsb
Para generar las cadenas aleatorias aseguradas criptográficamente, podemos usar el método random.SystemRandom()
, que genera números aleatorios a partir de las fuentes del sistema operativo.
Código de ejemplo:
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)
)
)
Producción :
PEQBU72q
xuwUInGo
asVWVywB
SAsMRjka
CrbIpuR6
Genere una cadena aleatoria en Python usando el método uuid.uuid4()
El método uuid.uuid4()
genera y devuelve un UUID aleatorio. El UUID es un identificador único universal de 128 bits de longitud que se utiliza para identificar información en un sistema o red.
Este método es útil en caso de que queramos generar identificadores únicos y aleatorios a partir de cadenas aleatorias. El siguiente código de ejemplo demuestra cómo utilizar el método uuid.uuid4()
para obtener una cadena aleatoria en Python.
import uuid
print(uuid.uuid4())
Producción :
440a93fe-45d7-4ccc-a6ee-baf10ce7388a
Genere una cadena aleatoria en Python usando el método StringGenerator.render_list()
StringGenerator().render_list()
es una manera fácil de generar múltiples cadenas aleatorias en Python. El StringGenerator()
toma la expresión regular como entrada, que define los caracteres que deben usarse para generar las cadenas aleatorias. En el método renderlist(len, unique=)
, len
especifica la longitud de la lista de salida que contiene las cadenas aleatorias, y el argumento de palabra clave unique
se puede establecer en True
si queremos las cadenas de salida únicas.
El módulo StringGenerator
debe instalarse primero para utilizar este método. El siguiente código de ejemplo demuestra cómo utilizar el método StringGenerator.render_list()
para generar cadenas aleatorias en Python.
from strgen import StringGenerator
StringGenerator("[\l\d]{10}").render_list(3, unique=True)
Producción :
['m98xQHMlBI', 'V4O8hPMWfh', 'cBJk3XcGny']