getpass — Portabler Passwort-Eingabe

Quellcode: Lib/getpass.py


Verfügbarkeit: nicht WASI.

Dieses Modul funktioniert nicht oder ist nicht auf WebAssembly verfügbar. Weitere Informationen finden Sie unter WebAssembly-Plattformen.

Das Modul getpass stellt zwei Funktionen bereit

getpass.getpass(prompt='Passwort: ', stream=None, *, echo_char=None)

Fordert den Benutzer zur Eingabe eines Passworts auf, ohne es anzuzeigen. Der Benutzer wird mit der Zeichenkette prompt aufgefordert, die standardmäßig 'Passwort: ' ist. Unter Unix wird der Prompt bei Bedarf mit dem Fehlerbehandlungsmechanismus replace in das dateiähnliche Objekt stream geschrieben. stream ist standardmäßig das steuernde Terminal (/dev/tty) oder, falls dieses nicht verfügbar ist, sys.stderr (dieses Argument wird unter Windows ignoriert).

Das Argument echo_char steuert, wie die Benutzereingabe während der Eingabe angezeigt wird. Wenn echo_char None (Standard) ist, bleibt die Eingabe verborgen. Andernfalls muss echo_char ein einzelnes druckbares ASCII-Zeichen sein und jedes eingegebene Zeichen wird dadurch ersetzt. Zum Beispiel wird bei echo_char='*' statt der tatsächlichen Eingabe Sternchen angezeigt.

Wenn die echo-freie Eingabe nicht verfügbar ist, fällt getpass() auf die Ausgabe einer Warnmeldung an stream und das Lesen von sys.stdin zurück und gibt eine GetPassWarning aus.

Hinweis

Wenn Sie getpass von IDLE aus aufrufen, kann die Eingabe im Terminal erfolgen, von dem aus Sie IDLE gestartet haben, anstatt im IDLE-Fenster selbst.

Hinweis

Auf Unix-Systemen wird bei gesetztem echo_char das Terminal so konfiguriert, dass es im nicht-kanonischen Modus arbeitet. Insbesondere bedeutet dies, dass Zeilenbearbeitungs-Abkürzungen wie Ctrl+U nicht funktionieren und unerwartete Zeichen in die Eingabe einfügen können.

Geändert in Version 3.14: Der Parameter echo_char für Tastatur-Feedback wurde hinzugefügt.

exception getpass.GetPassWarning

Eine Unterklasse von UserWarning, die ausgegeben wird, wenn die Passwort-Eingabe möglicherweise angezeigt wird.

getpass.getuser()

Gibt den "Login-Namen" des Benutzers zurück.

Diese Funktion prüft die Umgebungsvariablen LOGNAME, USER, LNAME und USERNAME in dieser Reihenfolge und gibt den Wert der ersten Variablen zurück, die auf eine nicht leere Zeichenkette gesetzt ist. Wenn keine gesetzt sind, wird der Login-Name aus der Passwortdatenbank zurückgegeben, auf Systemen, die das Modul pwd unterstützen, andernfalls wird eine OSError ausgelöst.

Im Allgemeinen sollte dieser Funktion os.getlogin() vorgezogen werden.

Geändert in Version 3.13: Zuvor wurden neben OSError verschiedene andere Ausnahmen ausgelöst.