Answers:
from getpass import getpass
password = getpass()
可以将可选提示作为参数传递;默认值为"Password: "
。
请注意,此功能需要正确的终端,因此它可以关闭键入字符的回显– 有关更多详细信息,请从IDLE运行时,请参见“ GetPassWarning:无法控制终端上的回显”。
getpass()
是这样,没有人可以看看源代码,并通过阅读它找出你的密码,没有人可以只盯着你的肩膀和阅读您的密码,关闭屏幕,当你键入它获取您的密码。
import getpass
pswd = getpass.getpass('Password:')
getpass可在Linux,Windows和Mac上使用。
import sys
):getpass.getpass(
<string>,sys.stderr)
此代码将打印一个星号,而不是每个字母。
import sys
import msvcrt
passwor = ''
while True:
x = msvcrt.getch()
if x == '\r':
break
sys.stdout.write('*')
passwor +=x
print '\n'+passwor
getpass
答案。好
#!/usr/bin/python3
from getpass import getpass
passwd = getpass("password: ")
print(passwd)
更新@Ahmed ALaa的答案
# import msvcrt
import getch
def getPass():
passwor = ''
while True:
x = getch.getch()
# x = msvcrt.getch().decode("utf-8")
if x == '\r' or x == '\n':
break
print('*', end='', flush=True)
passwor +=x
return passwor
print("\nout=", getPass())
msvcrt仅适用于Windows,但从PyPI获取getch应该对两者都适用(我仅在linux上进行过测试)。您也可以注释/取消注释这两行,以使其适用于Windows。