tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
:mod:`getpass` --- Portable password input
==========================================
 
.. module:: getpass
   :synopsis: Portable reading of passwords and retrieval of the userid.
 
.. moduleauthor:: Piers Lauder <piers@cs.su.oz.au>
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
.. Windows (& Mac?) support by Guido van Rossum.
 
**Source code:** :source:`Lib/getpass.py`
 
--------------
 
The :mod:`getpass` module provides two functions:
 
 
.. function:: getpass(prompt='Password: ', stream=None)
 
   Prompt the user for a password without echoing.  The user is prompted using
   the string *prompt*, which defaults to ``'Password: '``.  On Unix, the
   prompt is written to the file-like object *stream* using the replace error
   handler if needed.  *stream* defaults to the controlling terminal
   (:file:`/dev/tty`) or if that is unavailable to ``sys.stderr`` (this
   argument is ignored on Windows).
 
   If echo free input is unavailable getpass() falls back to printing
   a warning message to *stream* and reading from ``sys.stdin`` and
   issuing a :exc:`GetPassWarning`.
 
   .. note::
      If you call getpass from within IDLE, the input may be done in the
      terminal you launched IDLE from rather than the idle window itself.
 
.. exception:: GetPassWarning
 
   A :exc:`UserWarning` subclass issued when password input may be echoed.
 
 
.. function:: getuser()
 
   Return the "login name" of the user.
 
   This function checks the environment variables :envvar:`LOGNAME`,
   :envvar:`USER`, :envvar:`LNAME` and :envvar:`USERNAME`, in order, and
   returns the value of the first one which is set to a non-empty string.  If
   none are set, the login name from the password database is returned on
   systems which support the :mod:`pwd` module, otherwise, an exception is
   raised.
 
   In general, this function should be preferred over :func:`os.getlogin()`.