在Python中获取命令行密码input
你知道如何在Linux中,当你尝试一些Sudo的东西,它告诉你input密码,当你键入,terminal窗口中没有显示(密码不显示)?
有没有办法在Python中做到这一点? 我正在处理一个脚本,需要如此敏感的信息,并希望它被隐藏,当我键入它。
换句话说,我想从用户那里得到密码而不显示密码。
使用getpass.getpass()
。
import getpass pswd = getpass.getpass('Password:')
这适用于Linux,Windows和Mac。
为此使用getpass 。
getpass.getpass – 提示用户input密码而不回显
import getpass p=str("null") #user's input start value pas=str("password") #password value while p!=pas: p=getpass.getpass("Insert your password: ") #password input print("ay") #when you get the password, the output is "ay"
import getpass password = getpass.getpass("Enter your Password:") print(password)
这将input你的密码从命令行显示(如Linux的sudo密码),然后打印你input的密码。
输出:
newuser@PC:~/Desktop$ python a.py Enter your password: 1234 newuser@PC:~/Desktop$
import sys import msvcrt passwor = '' while True: x = msvcrt.getch() if x == '\r': break sys.stdout.write('*') passwor +=x print '\n'+passwor
此代码将打印astrix而不是每个字母