1.使用raw_input函数:
pwd = raw_input("input your password: ")
这种方法会把输入的字符显示出来.
input your password: 123
123
2.使用getpass模块,看不到输入的位数
pwd = getpass.getpass("input your password: ")
input your password:
123
3.使用msvcrt(只用于 Windows/DOS)
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('*') # 显示为星号
print ''.join(chars)
pwd = pwd_input()
print pwd
# ******
# 123456