Рубрики
Без рубрики

Python – генерировать случайную строку определенной длины

Автор оригинала: Python Examples.

Генерировать случайную строку с Python

Случайная строка может потребоваться для системного сгенерированного прочного пароля или таких других сценариев.

Используя случайный модуль программирования Python, вы можете генерировать такие строки указанной длины и указанные группы символов.

Чтобы генерировать случайную строку определенной длины, выполните следующие действия.

Шаг 1 – Выберите группу символов

Выберите группы символов, из которых вы хотели бы получить символы. строка Класс обеспечивает следующие группы персонажей:

  • string.ascii_letters.
  • string.ascii_lowercase.
  • String.Ascii_uppercase.
  • string.digits.
  • string.hexdigits.
  • string.letters.
  • string.lowercase
  • string.octdigits.
  • string.puncturation.
  • string.printable
  • string.uppercase
  • String.whiteSpace.

Шаг 2 – Random.Choice ()

Использовать функцию Random.Choice () со всеми группами символов (добавленных + оператора +), передаваемым в качестве аргумента.

random.choice(string.ascii_uppercase + string.digits)

Random.Choice () выбрал один из символов из заданной строки или символов.

Шаг 3 – Повторите сбор персонажей

Повторите это для N раз, чтобы быть длиной случайной строки, которая будет генерироваться.

random.choice(string.ascii_uppercase + string.digits) for _ in range(N)

Шаг 4 – Присоединяйтесь к персонажам

Присоединяйтесь к всем этим N символам.

''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(N))

Пример – генерировать случайную строку определенной длины

Давайте реализуем все вышеупомянутые шаги для создания случайной строки определенной длины.

import random
import string

def randStr(chars = string.ascii_uppercase + string.digits, N=10):
	return ''.join(random.choice(chars) for _ in range(N))

# default length(=10) random string
print(randStr())
# random string of length 7
print(randStr(N=7)) 
# random string with characters picked from ascii_lowercase
print(randStr(chars=string.ascii_lowercase))
# random string with characters picked from 'abcdef123456'
print(randStr(chars='abcdef123456'))
4FH2R5SQ9D
8STJX1L
iihvalhdwc
d35bbbfcea