Issue #6644: Fix compile error on AIX.
[python.git] / Doc / library / getpass.rst
blob02c3fd8b4b67541a70df39d80e9437124b56c966
1 :mod:`getpass` --- Portable password input
2 ==========================================
4 .. module:: getpass
5    :synopsis: Portable reading of passwords and retrieval of the userid.
6 .. moduleauthor:: Piers Lauder <piers@cs.su.oz.au>
7 .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
8 .. Windows (& Mac?) support by Guido van Rossum.
10 The :mod:`getpass` module provides two functions:
13 .. function:: getpass([prompt[, stream]])
15    Prompt the user for a password without echoing.  The user is prompted using the
16    string *prompt*, which defaults to ``'Password: '``. On Unix, the prompt is
17    written to the file-like object *stream*.  *stream* defaults to the
18    controlling terminal (/dev/tty) or if that is unavailable to ``sys.stderr``
19    (this argument is ignored on Windows).
21    If echo free input is unavailable getpass() falls back to printing
22    a warning message to *stream* and reading from ``sys.stdin`` and
23    issuing a :exc:`GetPassWarning`.
25    Availability: Macintosh, Unix, Windows.
27    .. versionchanged:: 2.5
28       The *stream* parameter was added.
29    .. versionchanged:: 2.6
30       On Unix it defaults to using /dev/tty before falling back
31       to ``sys.stdin`` and ``sys.stderr``.
32    .. note::
33       If you call getpass from within IDLE, the input may be done in the
34       terminal you launched IDLE from rather than the idle window itself.
37 .. exception:: GetPassWarning
39    A :exc:`UserWarning` subclass issued when password input may be echoed.
42 .. function:: getuser()
44    Return the "login name" of the user. Availability: Unix, Windows.
46    This function checks the environment variables :envvar:`LOGNAME`,
47    :envvar:`USER`, :envvar:`LNAME` and :envvar:`USERNAME`, in order, and returns
48    the value of the first one which is set to a non-empty string.  If none are set,
49    the login name from the password database is returned on systems which support
50    the :mod:`pwd` module, otherwise, an exception is raised.