Gibt es eine tragbare Möglichkeit, den Benutzernamen des aktuellen Benutzers in Python abzurufen (dh eine, die zumindest unter Linux und Windows funktioniert)? Es würde funktionieren wie os.getuid
:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
Ich googelte herum und war überrascht, keine endgültige Antwort zu finden (obwohl ich vielleicht nur schlecht googelte). Das pwd- Modul bietet eine relativ einfache Möglichkeit, dies beispielsweise unter Linux zu erreichen, ist jedoch unter Windows nicht vorhanden. Einige der Suchergebnisse deuteten darauf hin, dass das Abrufen des Benutzernamens unter Windows unter bestimmten Umständen kompliziert sein kann (z. B. als Windows-Dienst ausgeführt), obwohl ich dies nicht überprüft habe.
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
oderimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name