Do you want to perform cool things like generating random strings using Python? This tutorial is really useful for all python beginners and developers. Are you bad at remembering the password or want to generate the password? then creating a random string of characters and numbers in python is the perfect way to understand. Successfully learn how to generate random strings or passwords using python by following the below modules carefully.
- Python Random String Generator
- How I Generated a random string of given length using python?
- Function Definition
- Example of Generating Random Password or String Using Lamda Expression
- Example of Generating Random Password or String with Alphabets of Uppercase or Lowercase, Digits, and Punctuation of Specific Length
Python Random String Generator
Prevailing Python Code Snippets gives this very helpful snippet for producing random strings as a password generator that can simply be utilized in various projects that run on Python. In the snippet, the password generator performs a random string with a min of 8 characters and a max of 12, which will hold letters, numbers, and punctuation. When the string has been generated, it’s printed. Then your users (or you) are free to use it for any of their password needs.
- How to Generate a Random Number in Python | Python Program to Generate Random Numbers
- Functions in Python – Python List, String, Built In Functions
- How to Use Python to Multiply Strings | Multiply Strings in Python with Examples
We’ve modified the snippet to our own liking and given it below. Check it out and feel free to use it, alter it, or simply customize it.
import string from random import * min_char = 8 max_char = 12 allchar = string.ascii_letters + string.punctuation + string.digits password = "".join(choice(allchar) for x in range(randint(min_char, max_char))) print "This is your password : ",password
See More:
How I Generated a random string of given length using python?
By importing the two python modules, you can easily generate a random string of a given length. Let’s see them:
- string
- random
The string module
It includes many string constant that holds the ASCII characters of all cases. The string module comprises separate constants for lowercase, uppercase letters, digits, and special characters.
Random module
The random module is useful to perform the random generations for us.
Function Definition
def createRandomString(length): letters = string.ascii_lowercase randomString = ''.join(random.choice(letters) for i in range(length)) return randomString
- string.ascii_lowercase this gives us all the lowercase letters such as ‘abcdefghijklmnopqrstuvwxyz’
- Perform for loop length times and use random.choice() to choose a single character from the string constant. At the end of each iteration, add it to the string variable with the help of a join function. The random.choice() function is utilized to select a single item from any sequence.
Example of Generating Random Password or String Using Lamda Expression
import random import string get_random_string = lambda length, \ all_chars = string.ascii_letters + string.digits + string.punctuation: \ "".join([list(set(all_chars))[random.randint(0, len(list(set(all_chars)))-1)] \ for _ in range(length)]) print("Random string-1:", get_random_string(10)) print("Random string-2:", get_random_string(15)) print("Random string-3:", get_random_string(20))
Output:
The output will remain altered from one platform to other.
Example of Generating Random Password or String with Alphabets of Uppercase or Lowercase, Digits, and Punctuation of Specific Length
import random import string # uchars = Uppercase charaters # lchars = Lowercase charaters # dchars = Digits # schars = Punctuation or Special Charaters def get_random_string(uchars = 3, lchars = 3, dchars = 2, schars = 2): # Generates a 10 characters long random string # with 3 upper case, 3 lowe case, 2 digits and 2 special characters str_uchars, str_lchars, str_dchars, str_schars = '', '', '', '' for i in range(uchars): str_uchars += random.SystemRandom().choice(string.ascii_uppercase) for i in range(lchars): str_uchars += random.SystemRandom().choice(string.ascii_lowercase) for i in range(dchars): str_uchars += random.SystemRandom().choice(string.digits) for i in range(schars): str_uchars += random.SystemRandom().choice(string.punctuation) random_str = str_uchars + str_lchars + str_dchars + str_schars random_str = ''.join(random.sample(random_str, len(random_str))) return random_str print('Your Random String-1:', get_random_string()) # generates five uppercase, 5 lowercase, 3 digits and 2 punctuation print('Your Random String-2:', get_random_string(5, 5, 3, 2))
Output:
Your Random String-1: -oUfH78eU( Your Random String-2: LnuDsJ]61qHpD4~