getpass模組提供了兩個函式getpass和getuser,隱式密碼輸入和獲取當前使用者,當你想要使用者輸入密碼,基於安全考慮,密碼又不能明文顯示出來的時候就可以使用這個模組。
官方文件: getpass — Portable password input
getpass(prompt='Password: ', stream=None)
沒有回顯地獲取使用者輸入的密碼。 使用 prompt
設定提示語,預設提示語 Password:
, 該提示語會輸出到 stream
設定的file-like物件,預設為 /dev/tty
(如果不可用,則輸出到 sys.stderr
)。通常直接使用預設值就行,包括 stream
引數,當我們使用SSH連線到Linux環境時,在終端就能看到提示語。注意, stream
引數在Windows上會被忽略。
getuser()
獲取當前登入的使用者名稱。此函式將從環境變數LOGNAME、USER、LNAME、USERNAME中按順序讀取第一個非空的值。若這些環境變數都未設定,在支援 pwd
模組的系統上,會返回對應的密碼資料庫登入名。在獲取登入名的功能上,推薦優先使用此函式,而非 os.getlogin()
。
>>> import getpass
>>> pwd = getpass.getpass()
Password:
>>> pwd
'abc'
>>> getpass.getuser()
'Administrator'