SUGGEST: os.getuser()
Gerrit Holl
gerrit.holl at pobox.com
Sun Jan 16 13:49:14 EST 2000
Fredrik Lundh wrote on 948044608:
> Gerrit Holl wrote:
> > may I suggest this function for in the posix module:
> >
> > def getuser():
> > import pwd
> > return pwd.getpwuid(getuid())[0]
>
> you'll find a more complete implementation of that
> function in the getpass module:
The code of that getuser() is:
def getuser():
"""Get the username from the environment or password database.
First try various environment variables, then the password
database. This works on Windows as long as USERNAME is set.
"""
import os
for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
user = os.environ.get(name)
if user:
return user
# If this fails, the exception will "explain" why
import pwd
return pwd.getpwuid(os.getuid())[0]
So the user can mislead the program. I think the other way would be better:
...
try:
import pwd
return pwd.getpwuid(os.getuid())[0]
except ImportError:
import os
for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
user = os.environ.get(name)
if user:
return user
return None
regards,
Gerrit.
--
Please correct any bad English you encounter in my email message!
-----BEGIN GEEK CODE BLOCK----- http://www.geekcode.com
Version: 3.12
GCS dpu s-:-- a14 C++++>$ UL++ P--- L+++ E--- W++ N o? K? w--- !O !M !V PS+ PE?
Y? PGP-- t- 5? X? R- tv- b+(++) DI D+ G++ !e !r !y
-----END GEEK CODE BLOCK-----
More information about the Python-list
mailing list