[Python-checkins] bpo-32651 Recommend getpass.getuser() (#5301)

Barry Warsaw webhook-mailer at python.org
Wed Jan 24 12:51:32 EST 2018


https://github.com/python/cpython/commit/d499031f5f33c3ef71be7c81ef52eee6b47c42e1
commit: d499031f5f33c3ef71be7c81ef52eee6b47c42e1
branch: master
author: Barry Warsaw <barry at python.org>
committer: GitHub <noreply at github.com>
date: 2018-01-24T12:51:29-05:00
summary:

bpo-32651 Recommend getpass.getuser() (#5301)

* bpo-32651 - In the documentation for os.getlogin(), recommend getpass.getuser()

files:
M Doc/library/getpass.rst
M Doc/library/os.rst

diff --git a/Doc/library/getpass.rst b/Doc/library/getpass.rst
index 5eb9f04a8da..82b11919a3d 100644
--- a/Doc/library/getpass.rst
+++ b/Doc/library/getpass.rst
@@ -42,8 +42,10 @@ The :mod:`getpass` module provides two functions:
    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.
+   :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()`.
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index ee08853087f..9cb34deb042 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -325,10 +325,11 @@ process and user.
 .. function:: getlogin()
 
    Return the name of the user logged in on the controlling terminal of the
-   process.  For most purposes, it is more useful to use the environment
-   variables :envvar:`LOGNAME` or :envvar:`USERNAME` to find out who the user
-   is, or ``pwd.getpwuid(os.getuid())[0]`` to get the login name of the current
-   real user id.
+   process.  For most purposes, it is more useful to use
+   :func:`getpass.getuser` since the latter checks the environment variables
+   :envvar:`LOGNAME` or :envvar:`USERNAME` to find out who the user is, and
+   falls back to ``pwd.getpwuid(os.getuid())[0]`` to get the login name of the
+   current real user id.
 
    Availability: Unix, Windows.
 



More information about the Python-checkins mailing list