getpass --- 可攜式密碼輸入工具

原始碼:Lib/getpass.py


可用性: 非 Emscripten,非 WASI。

此模块在 WebAssembly 平台 wasm32-emscriptenwasm32-wasi 上不适用或不可用。 请参阅 WebAssembly 平台 了解详情。

getpass 模組 (module) 提供了兩個函式:

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

提示使用者輸入一個密碼且不會有回音 (echo)。使用者會看到字串 prompt 作為提示,其預設值為 'Password: '。在 Unix 上,如有必要的話會使用替換錯誤處理函式 (replace error handler) 寫入到類檔案物件 (file-like object) stream中。stream 預設為主控終端機 (controlling terminal) (/dev/tty),如果不可用則為 sys.stderr (此引數在 Windows 上會被忽略)。

如果無回音輸入 (echo-free input) 無法使用則 getpass() 將回退為印出一條警告訊息到 stream,並從 sys.stdin 讀取且同時發出 GetPassWarning

備註

如果你從 IDLE 內部呼叫 getpass,輸入可能會在你啟動 IDLE 的終端機中完成,而非在 IDLE 視窗中。

exception getpass.GetPassWarning

當密碼輸入可能被回音時會發出的 UserWarning 子類別。

getpass.getuser()

回傳使用者的"登入名稱"。

此函数会按顺序检查环境变量 LOGNAME, USER, LNAMEUSERNAME,并返回其中第一个被设置为非空字符串的值。 如果均未设置,则在支持 pwd 模块的系统上将返回来自密码数据库的登录名,否则将引发一个异常。

大部分情況下,此函式應該要比 os.getlogin() 優先使用。