[英]Read password from stdin
場景:一個交互式CLI Python程序,需要密碼。 這也意味着不可能有GUI解決方案。
在bash中,我可以讀取密碼而無需通過以下方式在屏幕上重新提示
read -s
Python有類似的東西嗎? 即
password = raw_input('Password: ', dont_print_statement_back_to_screen)
替代方法:將鍵入的字符替換為“ *”,然后再將其發送回屏幕(又稱瀏覽器樣式)。
>>> import getpass
>>> pw = getpass.getpass()
是的, getpass
:“提示用戶輸入密碼而不回顯。”
編輯:我自己還沒有玩過這個模塊,所以這就是我剛准備的(不過,如果到處都找到類似的代碼,不會感到驚訝):
import getpass
def login():
user = input("Username [%s]: " % getpass.getuser())
if not user:
user = getpass.getuser()
pprompt = lambda: (getpass.getpass(), getpass.getpass('Retype password: '))
p1, p2 = pprompt()
while p1 != p2:
print('Passwords do not match. Try again')
p1, p2 = pprompt()
return user, p1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.