getpass — Portabel inmatning av lösenord

Källkod: Lib/getpass.py


Tillgänglighet: not WASI.

Den här modulen fungerar inte eller är inte tillgänglig på WebAssembly. Se WebAssembly-plattformar för mer information.

Modulen getpass innehåller två funktioner:

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

Uppmanar användaren att ange ett lösenord utan eko. Användaren uppmanas att använda strängen prompt, som som standard är 'Password: '. På Unix skrivs uppmaningen till det filliknande objektet stream med hjälp av felhanteraren replace om det behövs. stream används som standard till den kontrollerande terminalen (/dev/tty) eller om den inte är tillgänglig till sys.stderr (detta argument ignoreras i Windows).

Argumentet echo_char styr hur användarens inmatning visas när han eller hon skriver. Om echo_char är None (standard) förblir inmatningen dold. Annars måste echo_char vara en skrivbar ASCII-sträng och varje skrivet tecken ersätts av den. Till exempel kommer echo_char='*' att visa asterisker i stället för det faktiska inmatningstecknet.

Om echo free input inte är tillgänglig faller getpass() tillbaka till att skriva ut ett varningsmeddelande till stream och läsa från sys.stdin och utfärda en GetPassWarning.

Anteckning

Om du anropar getpass från IDLE kan inmatningen ske i den terminal som du startade IDLE från i stället för i själva IDLE-fönstret.

Ändrad i version 3.14: Lagt till parametern echo_char för feedback från tangentbordet.

exception getpass.GetPassWarning

En UserWarning-underklass som utfärdas när lösenordsinmatning kan ekas.

getpass.getuser()

Returnerar användarens ”inloggningsnamn”.

Denna funktion kontrollerar miljövariablerna LOGNAME, USER, LNAME och USERNAME, i tur och ordning, och returnerar värdet på den första som är satt till en icke-tom sträng. Om ingen är angiven returneras inloggningsnamnet från lösenordsdatabasen på system som stöder modulen pwd, annars genereras en OSError.

I allmänhet bör denna funktion föredras framför os.getlogin().

Ändrad i version 3.13: Tidigare skapades olika undantag utöver OSError.