Für UNIX-Systeme funktioniert zumindest dies...
import commands
username = commands.getoutput("echo $(whoami)")
print username
Bearbeiten: Ich habe gerade nachgeschaut und dies funktioniert auf Windows und UNIX:
import commands
username = commands.getoutput("whoami")
Auf UNIX gibt es deinen Benutzernamen zurück, aber auf Windows gibt es deine Benutzergruppe zurück, Schrägstrich, deinen Benutzernamen.
--
Zum Beispiel:
UNIX gibt zurück: "Benutzername"
Windows gibt zurück: "Domäne/Benutzername"
--
Es ist interessant, aber wahrscheinlich nicht ideal, es sei denn, du machst sowieso etwas im Terminal... in welchem Fall du wahrscheinlich ohnehin os.system
verwenden würdest. Zum Beispiel musste ich vor einer Weile meinen Benutzer zu einer Gruppe hinzufügen, also habe ich dies gemacht (das ist in Linux, beachte)
import os
os.system("sudo usermod -aG \"Gruppenname\" $(whoami)")
print "Du wurdest zu \"Gruppenname\" hinzugefügt! Bitte melde dich ab, damit dies in Kraft tritt"
Ich denke, das ist einfacher zu lesen und du musst pwd oder getpass nicht importieren.
Ich denke auch, dass "Domäne/Benutzer" in bestimmten Anwendungen in Windows hilfreich sein könnte.
0 Stimmen
Es funktioniert nicht auf meinem Linux-Rechner!
6 Stimmen
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
oderimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name
0 Stimmen
Getusername() ist keine gültige Methode im os Python-Modul: docs.python.org/2.7/library/os.html
27 Stimmen
@MattBruzek Das war der Standpunkt des OPs. Er stellte sich vor, wie eine solche Funktion aufgerufen werden könnte, wenn sie existierte.
2 Stimmen
"Benutzername" ist nicht einmal ein tragbares Konzept. Überlegen Sie sich microPython - wenn Sie direkt auf der Hardware laufen, gibt es so etwas nicht.
0 Stimmen
Upvote für Slartibartfast