1 import msvcrt, sys, os
 2 print(‘password: ‘, end=‘‘, flush=True)
 3 
 4 li = []
 5 
 6 while 1:
 7     ch = msvcrt.getch()
 8     #回车
 9     if ch == b‘\r‘:
10         msvcrt.putch(b‘\n‘)
11         print(‘输入的密码是:%s‘ % b‘‘.join(li).decode())
12         break
13     #退格
14     elif ch == b‘\x08‘:
15         if li:
16             li.pop()
17             msvcrt.putch(b‘\b‘)
18             msvcrt.putch(b‘ ‘)
19             msvcrt.putch(b‘\b‘)
20     #Esc
21     elif ch == b‘\x1b‘:
22         break
23     else:
24         li.append(ch)
25         msvcrt.putch(b‘*‘)
26 
27 os.system(‘pause‘)

原文:http://www.cnblogs.com/zhouxinfei/p/8001475.html