Gerar strings aleatórias em Python
-
Gere strings aleatórias em Python usando os métodos
random.choice()
estring.join()
-
Gere string aleatória em Python usando o método
uuid.uuid4()
-
Gere string aleatória em Python usando o método
StringGenerator.render_list()
Neste tutorial, veremos vários métodos para gerar strings aleatórias em Python. As técnicas de geração de string aleatória são usadas para gerar nomes de usuário, senhas ou nomes de arquivos aleatórios, etc.
Em alguns casos, precisamos de strings criptograficamente seguras, ou seja, senha aleatória ou geração de chave. Apenas strings aleatórias serão suficientes se precisarmos usar strings aleatórias como nome de usuário e nome de arquivo aleatórios, etc. Discutiremos os dois tipos de geração de string aleatória neste tutorial, que são explicados abaixo.
Gere strings aleatórias em Python usando os métodos random.choice()
e string.join()
O método random.choice(seq)
retorna um elemento escolhido aleatoriamente da sequência seq
fornecida como entrada. E o método string.join(iterable)
junta os elementos do iterable
usando o valor fornecido da string
como separador e retorna a string resultante como saída.
Para gerar uma string aleatória em Python, precisamos fornecer a sequência de caracteres a partir da qual queremos que nosso código gere a string aleatória para o método random.choice()
. A sequência de entrada pode consistir em letras maiúsculas, letras pequenas, dígitos e sinais de pontuação, etc.
Podemos usar string.ascii_uppercase
e string.ascii_lowercase
para sequência de letras maiúsculas e minúsculas, respectivamente, string.ascii_letters
para ambos, string.digits
para sequência de dígitos e string.punctuation
para sequência de sinais de pontuação em Python.
O código de exemplo a seguir demonstra como gerar o tipo necessário de string aleatória usando os métodos random.choice()
e string.join()
em 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)
)
)
Resultado:
wOy5ezjl
j34JN8By
clA5SNZ6
D8K0eggH
6LjRuYsb
Para gerar strings aleatórias criptograficamente protegidas, podemos usar o método random.SystemRandom()
, que gera números aleatórios a partir das fontes do sistema operacional.
Código de exemplo:
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)
)
)
Resultado:
PEQBU72q
xuwUInGo
asVWVywB
SAsMRjka
CrbIpuR6
Gere string aleatória em Python usando o método uuid.uuid4()
O método uuid.uuid4()
gera e retorna um UUID aleatório. O UUID é um identificador universal exclusivo de 128 bits usado para identificar informações em um sistema ou rede.
Este método é útil no caso de desejarmos gerar identificadores aleatórios e únicos a partir de strings aleatórias. O código de exemplo a seguir demonstra como usar o método uuid.uuid4()
para obter uma string aleatória em Python.
import uuid
print(uuid.uuid4())
Resultado:
440a93fe-45d7-4ccc-a6ee-baf10ce7388a
Gere string aleatória em Python usando o método StringGenerator.render_list()
O StringGenerator().render_list()
é uma maneira fácil de gerar várias strings aleatórias em Python. O StringGenerator()
leva a expressão regular como entrada, que define os caracteres que devem ser usados para gerar as strings aleatórias. No método renderlist(len, unique=)
, len
especifica o comprimento da lista de saída contendo as strings aleatórias, e o argumento de palavra-chave unique
pode ser definido como True
se quisermos as strings de saída exclusivas.
O módulo StringGenerator
precisa ser instalado primeiro para usar este método. O código de exemplo a seguir demonstra como usar o método StringGenerator.render_list()
para gerar strings aleatórias em Python.
from strgen import StringGenerator
StringGenerator("[\l\d]{10}").render_list(3, unique=True)
Resultado:
['m98xQHMlBI', 'V4O8hPMWfh', 'cBJk3XcGny']