How to Generate a Random String in Python


In this post, I will show you how to generate a random string of length n in Python.
for example, If You want to generate a random string of fixed length 10.


Generate a fixed length random string In Python :-

To generate a random string in Python we need to use the following two Python modules.

String module :- This module contains the various string constant which contains the ASCII characters of all cases.
String module contains separate constants for lowercase letters, uppercase letters, digits, and special characters.

random module :- random module perform the operations of random String generations.


Python Program to generate a fixed length random string In Python :-


Let’s Suppose we want to generate a random string of length 10 then we need to execute a random.choice() function 10 times to pick a single letter from the string.ascii_lowercase
and add it to the string variable.

import random
import string
def random_String(string_Length):
    """Generating a random string of fixed length in Python """
    letter = string.ascii_lowercase
    return ''.join(random.choice(letter) for j in range(string_Length))
print ("Random String is ", random_String(5) )
print ("Random String is ", random_String(10) )
print ("Random String is ", random_String(15) )
print ("Random String is ", random_String(20) )

Output:-

Random String is  qhpgx
Random String is  azervvbyoj
Random String is  gtfagyjrpjsfrdm
Random String is  ktesldwisbjbjikwlhcv


 


Note: In the above program, output contains all the upper case letters. If you want only the lowercase letters, then use the string.ascii_lowercase instead of a string.ascii_uppercase.


Python program Generate a random string contains lower case and upper case letters:-


import random
import string
def random_String(string_Length):
    """Generating a random string containslowercase and uppercase letters """
    letter = string.ascii_letters
    return ''.join(random.choice(letter) for j in range(string_Length))
print("Random String contains of lowercase and uppercase letters")
print ("First Random String is ", random_String(7) )
print ("second Random String is ", random_String(10) )
print ("second Random String is ", random_String(15) )
print ("second Random String is ", random_String(20) )

Output:-

Random String contains of lowercase and uppercase letters
First Random String is  ZYupyBO
second Random String is  CQeEZtROqb
second Random String is  ZAbyHndlqxTHsai
second Random String is  oXhFFabxtcQRRGNOmsct

Note: The random.choice method can repeat the characters in generated string. If you don’t want repeated characters in generated String, then kindly use the random.sample function.

 


Python program to generate random string contains letters and digits in Python:-


Many times we require a string which contains both letters and digit for random password generation.
For example, random string :- Ab23cFd, jkLml18, 127texki.

To generate random string contains letters and digits in Python we need to use the string.ascii_letters and string.digits constants two get the combinations of letters and digits in our random string.


import random
import string
def random_String(string_Length=6):
    """Generating a random string containing letters and digits """
    lettersAndDigits = string.ascii_letters + string.digits
    return ''.join(random.choice(lettersAndDigits) for j in range(string_Length))
print ("Generating a Random String with letters and digits")
print ("First Random String is  ", random_String(8))
print ("Second Random String is ", random_String(10))
print ("Third Random String is  ", random_String(18))
print ("Third Random String is  ", random_String())

output:-

Generating a Random String with letters and digits
First Random String is   JHYva6I7
Second Random String is  jy5BfcIQ4Y
Third Random String is   fK8luYIuqEQzszQSgm
Third Random String is   FBoB2t


 


Python Program To generate a random password string with Special characters, letters, and digits in Python:-


If password contains characters, digits and special symbols are considered as a strong password.

For example, if we want to generate a random Password like below:-

ab2@5efd#$
j*&k%m&32
T871t@h*ki%

Python Program to Generate a random password string with Special characters, letters, and digits

In this Python program we are going to use string.ascii_letters , string.digits and string.punctuation along with random.choice function.


import random
import string
def random_String(string_Length=10):
    """Generating a random string which contains letters, digits and special characters """
    password_characters = string.ascii_letters + string.digits + string.punctuation
    return ''.join(random.choice(password_characters) for j in range(string_Length))
print("Generating Random String password containg letters, digits and special characters ")
print ("First Random String ", random_String() )
print ("Second Random String", random_String(13) )
print ("Third Random String", random_String(15) )
print ("fourth Random String", random_String(20) )

Output:-

Generating Random String password containg letters, digits and special characters
First Random String  QE$z7k&uM\
Second Random String mXKFN>U,j-p!)
Third Random String g7^!Ttc0B"'8@tG
fourth Random String ':e'2xXy!QeZw.oC,m&e

 


Python Program to generate a random password String which contains lowercase character,uppercase character, digits and special character in Python.


import random
import string
def random_Password():
    """Generating a random password contains uppercase,lowercase,digit and symbol """
    random_Source = string.ascii_letters + string.digits + string.punctuation
    Random_password = random.choice(string.ascii_lowercase)
    Random_password += random.choice(string.ascii_uppercase)
    Random_password += random.choice(string.digits)
    Random_password += random.choice(string.punctuation)
    for j in range(6):
        Random_password += random.choice(random_Source)
    password_List = list(Random_password)
    random.SystemRandom().shuffle(password_List)
    password = ''.join(password_List)
    return password
print ("First Random Password is ", random_Password())
print ("Second Random Password is ", random_Password())
print ("Third Random Password is ", random_Password())
print ("Fourth Random Password is ", random_Password())

First Random Password is  dtA3+'S`gA
Second Random Password is  -C:5DlF?4$
Third Random Password is  34Vc{=%@MX
Fourth Random Password is  W+r96y$OD"

 

Leave a Reply

Your email address will not be published. Required fields are marked *