首页 > Python基础应用 > Python3 CookBook中文版 > 13.4 运行时弹出密码输入提示

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会提前警告你这些问题(例如它会警告你说密码会以明文形式显示)

本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈