getpass — Portable password input¶
Source code:Lib/getpass.py
Availability: not WASI.
This module does not work or is not available on WebAssembly. SeeWebAssembly platforms for more information.
Thegetpass module provides two functions:
- getpass.getpass(prompt='Password:',stream=None,*,echo_char=None)¶
Prompt the user for a password without echoing. The user is prompted usingthe stringprompt, which defaults to
'Password:'. On Unix, theprompt is written to the file-like objectstream using the replace errorhandler if needed.stream defaults to the controlling terminal(/dev/tty) or if that is unavailable tosys.stderr(thisargument is ignored on Windows).Theecho_char argument controls how user input is displayed while typing.Ifecho_char is
None(default), input remains hidden. Otherwise,echo_char must be a single printable ASCII character and eachtyped character is replaced by it. For example,echo_char='*'willdisplay asterisks instead of the actual input.If echo free input is unavailable getpass() falls back to printinga warning message tostream and reading from
sys.stdinandissuing aGetPassWarning.Note
If you call getpass from within IDLE, the input may be done in theterminal you launched IDLE from rather than the idle window itself.
Note
On Unix systems, whenecho_char is set, the terminal will beconfigured to operate innoncanonical mode.In particular, this means that line editing shortcuts such asCtrl+U will not work and may insert unexpected characters intothe input.
Changed in version 3.14:Added theecho_char parameter for keyboard feedback.
- exceptiongetpass.GetPassWarning¶
A
UserWarningsubclass issued when password input may be echoed.
- getpass.getuser()¶
Return the “login name” of the user.
This function checks the environment variables
LOGNAME,USER,LNAMEandUSERNAME, in order, andreturns the value of the first one which is set to a non-empty string. Ifnone are set, the login name from the password database is returned onsystems which support thepwdmodule, otherwise, anOSErroris raised.In general, this function should be preferred over
os.getlogin().Changed in version 3.13:Previously, various exceptions beyond just
OSErrorwere raised.