Python內建庫:getpass(密碼輸入工具)

山上下了雪-bky發表於2024-04-05

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'

相關文章