zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python实战===输入密码以******的形式在cmd中展示

Python密码输入密码 实战 cmd 展示 形式
2023-09-14 09:12:08 时间
#设置密码输入,显示为******
import msvcrt,sys
def pwd_input():    
    chars = []   
    while True:  
        try:  
            newChar = msvcrt.getch().decode(encoding="utf-8")  
        except:  
            return input("你很可能不是在cmd命令行下运行,密码输入将不能隐藏:")  
        if newChar in '\r\n': # 如果是换行,则输入结束               
             break   
        elif newChar == '\b': # 如果是退格,则删除密码末尾一位并且删除一个星号   
             if chars:    
                 del chars[-1]   
                 msvcrt.putch('\b'.encode(encoding='utf-8')) # 光标回退一格  
                 msvcrt.putch( ' '.encode(encoding='utf-8')) # 输出一个空格覆盖原来的星号  
                 msvcrt.putch('\b'.encode(encoding='utf-8')) # 光标回退一格准备接受新的输入                   
        else:  
            chars.append(newChar)  
            msvcrt.putch('*'.encode(encoding='utf-8')) # 显示为星号  
    return (''.join(chars) )  
  
print("Please input your password:")
pwd = pwd_input()  
print("\nyour password is:{0}".format(pwd))
sys.exit()