getpass module enables to prompt the user for a password without displaying it on the screen. Thus, it can customize the user’s experience. Python’s getpass module enables secure and user-friendly handling of password input. It lets you prompt the user for a password in a way that doesn’t display their input on the screen, enhancing the security of your Python applications
The Python getpass module provides a secure way to prompt for a user’s password without displaying it. Its primary function, getpass.getpass(), enables customization of user experience, and getpass.getuser() function retrieves the corresponding login name of the user/system
Python getpass Module Examples
Here we use the basic
getpass function. We wrap the function in a try-except block for error handling. If the user successfully enters a password, it is stored in the
pass_word variable and then printed. If there’s an error, it’s captured and printed instead
import getpass try: pass_word = getpass.getpass() except Exception as E: print('There is an Error : ', E) else: print('Password fetched from command prompt :', pass_word)
Password: Safa Password fetched from command prompt : Safa
1. getpass module with no prompt
Let’s see the use of
getpass without a custom prompt. The function will use a default ‘Password:’ prompt
2. Customizing Prompts with Getpass
You can customize the
getpass prompt to enhance user interaction. Here, we change the prompt to ask the user about their favorite place, providing a more engaging experience
import getpass place = getpass.getpass(prompt = 'Which is your favorite place to go?') if place == 'Satara': print('Ofcourse!') else: print('Where is that?')
Which is your favorite place to go? Ofcourse!
3. Directing Getpass Output to Other Streams
getpass also allows you to redirect the password prompt to different output streams. In this example, we use
sys.stderr as the output stream, meaning the password prompt will be directed to the standard error stream.
import getpass import sys pass_word = getpass.getpass(stream=sys.stderr) print('Entered password:', pass_word)
Password: Entered password: Safa
4. getpass(argument) Function in Python
getpass(argument) function enables us to print the prompt string on the command prompt. The
getpass function can accept an argument that serves as the custom prompt. Here, we use
getpass.getuser() to get the current system user and then prompt the user for a password with a custom prompt that includes the user’s name.
If the argument is omitted, it prints ‘Password:’.
import getpass user = getpass.getuser() pass_word = getpass.getpass("User's password %s: " % user) print(user, pass_word)
User's password HP: HP safa
5. getuser() Function in Getpass Module
getuser() function is another utility from the
getpass module. It fetches the login name of the user from the environment variables, providing a portable way to get user information.
With Python’s getpass module, you can securely prompt users for passwords and enhance user experience. This versatile tool empowers you to customize prompts, manage output streams, and even fetch system login names. What’s your next security challenge that getpass could help solve?