getpass
— 行動式密碼輸入¶
原始碼: Lib/getpass.py
可用性:非 WASI。
此模組在 WebAssembly 上不起作用或不可用。有關更多資訊,請參閱 WebAssembly 平臺。
getpass
模組提供了兩個函式:
- getpass.getpass(prompt='Password: ', stream=None, *, echo_char=None)¶
提示使用者輸入密碼並不回顯。會使用字串 prompt 來提示使用者,其預設值為
'Password: '
。在 Unix 上,提示資訊會使用 replace 錯誤處理控制代碼(如果需要)寫入到檔案類物件 stream 中。stream 預設為控制終端 (/dev/tty
),如果不可用則預設為sys.stderr
(此引數在 Windows 上會被忽略)。echo_char 引數控制使用者輸入時如何顯示。如果 echo_char 為
None
(預設值),輸入將保持隱藏。否則,echo_char 必須是單個可列印的 ASCII 字元,每個鍵入的字元都將被其替換。例如,echo_char='*'
將顯示星號而不是實際輸入。如果無回顯輸入不可用,getpass() 將回退到向 stream 列印一條警告訊息並從
sys.stdin
讀取,同時發出GetPassWarning
警告。備註
如果你在 IDLE 中呼叫 getpass,輸入可能會在啟動 IDLE 的終端中進行,而不是在 IDLE 視窗本身。
備註
在 Unix 系統上,當設定 echo_char 時,終端將被配置為在非規範模式下執行。特別地,這意味著像 Ctrl+U 這樣的行編輯快捷鍵將無法工作,並可能在輸入中插入意外的字元。
在 3.14 版本發生變更: 為鍵盤反饋添加了 echo_char 形參。
- exception getpass.GetPassWarning¶
一個
UserWarning
的子類,在密碼輸入可能被回顯時發出。
- getpass.getuser()¶
返回使用者的“登入名”。
此函式會依次檢查環境變數
LOGNAME
,USER
,LNAME
和USERNAME
,並返回第一個被設為非空字串的變數的值。如果這些變數都沒有設定,在支援pwd
模組的系統上會返回密碼資料庫中的登入名,否則會引發OSError
。通常,應優先使用此函式而不是
os.getlogin()
。在 3.13 版本發生變更: 之前,除了
OSError
外,還會引發各種其他異常。