Python | Generate a random string of a given length

Method # 1: Using random.choices()

This random module function can help us with this task and provides an alternative to the whole loop for the entire cycle, which may be required for this specific task. Works with Python & gt; v3.6.

# Python3 demo code
# generate random lines
# using random.choices ()

import string

import random

 
# initialize line size

N = 7

 
# using random.choices ()
# generating random lines

res = `` .join (random.choices (string.ascii_uppercase +

  string.digits, k = N))

  
# print result

print ( " The generated random string: " + str (res ))

Output:

 The generated random string: 0D5YE91 

Method # 2: Using secrets.choice()

For cryptographically more safe random numbers this function of the secret module can be used because its internal algorithm is designed in such a way as to generate less predictable random numbers. Works with Python & gt; v3.6.

# Python3 demo code
# generate random lines
# using secrets.choice ()

import secrets

import string

 
# initialize line size

N = 7

 
# using random.choices ()
# generating random lines

res = `` .join (secrets.choice (string.ascii_uppercase + string.digits)

for i in range (N))

 
# print result

print ( "The generated random string : " + str (res))

Output:

 The generated random string: T7HPKVR