13.4 �行时弹出密�输入�示¶

问题¶

你写了个脚本,�行时需�一个密�。此脚本是交互�的,因此�能将密�在脚本中硬编�, 而是需�弹出一个密�输入�示,让用户自己输入。

解决方案¶

这时候Python的 getpass 模�正是你所需�的。你�以让你很轻�的弹出密�输入�示, 并且�会在用户终端回显密�。下�是具体代�:

import getpass

user = getpass.getuser()
passwd = getpass.getpass()

if svc_login(user, passwd):    # You must write svc_login()
   print('Yay!')
else:
   print('Boo!')

在此代�中,svc_login() 是你�实现的处�密�的函数,具体的处�过程你自己决定。

讨论¶

注�在��代�中 getpass.getuser() �会弹出用户�的输入�示。 它会根�该用户的shell环境或者会��本地系统的密�库(支� pwd 模�的平�)�使用当�用户的登录�,

如果你想显示的弹出用户�输入�示,使用内置的 input 函数:

user = input('Enter your username: ')

还有一点很��,有些系统�能�支� getpass() 方法��输入密�。 这�情况下,Python会��警告你这些问题(例如它会警告你说密�会以明文形�显示)