Como você cria uma string aleatória em Python?
Eu precisava que fosse um número e depois a repetição de caracteres até que você fizesse isso é o que eu criei
def random_id(length):
number = '0123456789'
alpha = 'abcdefghijklmnopqrstuvwxyz'
id = ''
for i in range(0,length,2):
id += random.choice(number)
id += random.choice(alpha)
return id
Respostas:
Gerando strings de (por exemplo) caracteres minúsculos:
Resultados:
fonte
randomword(length, source_alpha=string.lowercase)
exrange(length)
, no entanto.string.ascii_lowercase
os.urandom(length)
responde a pergunta original e @sth leu a mente de OP incorretamente.random.choices
seria mais rápido.Uma vez que esta pergunta é razoavelmente, uh, aleatória, isso pode funcionar para você:
fonte
str(uuid.uuid4())
se quiser usá-lo como uma string.str(uuid.uuid4()).split("-")[0]
Resultado:'4bcb6450'
fonte
random.choice
também não é seguro. Userandom.SystemRandom().choice()
ou useos.urandom()
diretamente .lowercase
deve ser substituído porascii_lowercase
Resposta à pergunta original:
Citação de: http://docs.python.org/2/library/os.html
fonte
Você pode construir caracteres ascii aleatórios como:
E então construa uma string mais longa como:
fonte
''.join(map(chr, random.randint(0,256) for _ in xrange(len)))
Você realmente não disse muito sobre que tipo de string aleatório você precisa. Mas em qualquer caso, você deve olhar para o
random
módulo.Uma solução muito simples é colada abaixo.
fonte
Às vezes, eu queria cadeias de caracteres aleatórias que são semi-pronunciáveis, semi-memoráveis.
Então,
Para evitar palavras de 4 letras, não defina
length
como 4.Jim
fonte
comprimento deve ser <= len (string.letters) = 53. exemplo de resultado
Aproveitar. ;)
fonte
Instale este pacote:
E use este código:
Mais informações sobre os outros parâmetros do método estão disponíveis aqui.
fonte
Esta função gera string aleatória consistindo em letras maiúsculas e minúsculas, dígitos, passe o separador de comprimento, no_of_blocks para especificar o formato da string
por exemplo: len_sep = 4, no_of_blocks = 4 irá gerar o seguinte padrão,
Onde, o separador de comprimento adicionará "-" após 4 caracteres
nenhum dos blocos irá gerar o seguinte padrão de caracteres como string
se uma única string aleatória for necessária, apenas mantenha a variável no_of_blocks igual a 1 e len_sep para especificar o comprimento da string aleatória.
por exemplo: len_sep = 10, no_of_blocks = 1, irá gerar o seguinte padrão, isto é. sequência aleatória de comprimento 10 ,
fonte
saída: FfxjmkyyLG5HvLeRudDS
fonte
Em
python3.6+
você pode usar osecrets
módulo :Ao testar a geração de
768bit
tokens de segurança, descobri:random.choices()
-0.000246
ssecrets.choice()
-0.003529
sOs
secrets
módulos são mais lentos, mas fora do teste é o que você deve usar para fins criptográficos:fonte
tente importar o pacote abaixo de importação aleatória *
fonte