1.linux下用getpass,没有星号提示,符合linux风格

from getpass import getpass
pwd = getpass('Enter the password: ')

 

2.windows下用msvcrt

import msvcrt, sys  
def pwd_input():  
    chars = []  
    while True:  
        newChar = msvcrt.getch()  
        if newChar in '\r\n': # 如果是换行,则输入结束  
            print ''  
            break  
        elif newChar == '\b': # 如果是退格,则删除末尾一位  
            if chars:  
                del chars[-1]  
                sys.stdout.write('\b \b') # 删除一个星号  
        else:  
            chars.append(newChar)  
            sys.stdout.write('*') # 显示为星号
    return ''.join[chars]
pwd = pwd_input()

print pwd

 

相关文章:

  • 2022-03-06
  • 2021-11-03
  • 2021-07-07
  • 2022-02-01
  • 2022-12-23
猜你喜欢
  • 2021-10-14
  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
  • 2022-12-23
  • 2021-06-23
  • 2021-09-07
相关资源
相似解决方案