blob: ffe2b1256ba54661b05b8f3fa56101bff8f4b2f6 [file] [log] [blame]
Georg Brandl116aa622007-08-15 14:28:22 +00001:mod:`getpass` --- Portable password input
2==========================================
3
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>
Christian Heimes5b5e81c2007-12-31 16:14:33 +00008.. Windows (& Mac?) support by Guido van Rossum.
Georg Brandl116aa622007-08-15 14:28:22 +00009
10The :mod:`getpass` module provides two functions:
11
12
Georg Brandl036490d2009-05-17 13:00:36 +000013.. function:: getpass(prompt='Password: ', stream=None)
Georg Brandl116aa622007-08-15 14:28:22 +000014
Georg Brandle6bcc912008-05-12 18:05:20 +000015 Prompt the user for a password without echoing. The user is prompted using
16 the string *prompt*, which defaults to ``'Password: '``. On Unix, the prompt
17 is written to the file-like object *stream*. *stream* defaults to the
18 controlling terminal (:file:`/dev/tty`) or if that is unavailable to
19 ``sys.stderr`` (this argument is ignored on Windows).
Christian Heimes81ee3ef2008-05-04 22:42:01 +000020
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`.
Georg Brandl116aa622007-08-15 14:28:22 +000024
25 Availability: Macintosh, Unix, Windows.
26
Christian Heimes81ee3ef2008-05-04 22:42:01 +000027 .. note::
28 If you call getpass from within IDLE, the input may be done in the
29 terminal you launched IDLE from rather than the idle window itself.
30
31.. exception:: GetPassWarning
32
33 A :exc:`UserWarning` subclass issued when password input may be echoed.
34
Georg Brandl116aa622007-08-15 14:28:22 +000035
36.. function:: getuser()
37
38 Return the "login name" of the user. Availability: Unix, Windows.
39
40 This function checks the environment variables :envvar:`LOGNAME`,
41 :envvar:`USER`, :envvar:`LNAME` and :envvar:`USERNAME`, in order, and returns
42 the value of the first one which is set to a non-empty string. If none are set,
43 the login name from the password database is returned on systems which support
44 the :mod:`pwd` module, otherwise, an exception is raised.
45