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

原始碼： Lib/getpass.py

可用性: 非 Emscripten，非 WASI。

此模块在 WebAssembly 平台 `wasm32-emscripten` 和 `wasm32-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`, `LNAME` 和 `USERNAME`，并返回其中第一个被设置为非空字符串的值。 如果均未设置，则在支持 `pwd` 模块的系统上将返回来自密码数据库的登录名，否则将引发一个异常。

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