whoami in python
Question: What is the best way to find out the user that a python process is running
under?

I could do this:

    
    
    name = os.popen('whoami').read() 
    

But that has to start a whole new process.

    
    
    os.environ["USER"]
    

works sometimes, but sometimes that environment variable isn't set.


Answer: 
    import getpass
    print getpass.getuser()
    

See the documentation of the
[getpass](http://docs.python.org/library/getpass.html) module.

> getpass.getuser()
>
> Return the “login name” of the user. Availability: Unix, Windows.
>
> This function checks the environment variables LOGNAME, USER, LNAME and
> 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 pwd module, otherwise, an exception
> is raised.

