黑松山资源网 Design By www.paidiu.com
本文实例讲述了Python实现控制台输入密码的方法。分享给大家供大家参考。具体如下:
1. raw_input() :
pwd = raw_input('password: ') print pwd # password: aaa # aaa
Note: 最简单的方法,但是不安全
2. getpass.getpass() :
import getpass pwd = getpass.getpass('password: ') print pwd # password: # aaaa
Note: 很安全,但是看不到输入的位数,会让人觉得有点不习惯,不知道的还以为没有在输入..
3. msvcrt.getch() :
代码如下:
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') # 删除一个星号,但是不知道为什么不能执行... else: chars.append(newChar) sys.stdout.write('*') # 显示为星号 print ''.join(chars) pwd = pwd_input() print pwd # ****** # aaaaaa
Note: 解决了第二种方法不能显示输入位数的问题,但是如果按退格键(backspace)的话,虽然实际的是退格了,
但控制台却没有显示相应的退格,比如,当前输入是:abcd,显示为:****,然后现在打一个退格键,实际
输入为:abc,而显示仍为:****。不知道为什么 sys.stdout.write('\b') 这行没有执行,估计是和使用msvcrt.getch()有关系。感兴趣的朋友可以进一步研究一下。
希望本文所述对大家的Python程序设计有所帮助。
黑松山资源网 Design By www.paidiu.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
黑松山资源网 Design By www.paidiu.com
暂无评论...
更新日志
2024年10月09日
2024年10月09日
- 炉石传说最强战士卡组是哪个 战士最强天梯卡组推荐一览
- LexVandyke《HistoriadeunAmor情陷地中海》[WAV+CUE]
- TheBestPopClassics《LIGHTRHYTHMSOUND2》[WAV+CUE]
- TheLatinSoundofLexVandyke-ConciertodeAranjuez拉丁情人2012[SACD-ISO]
- 《怪物猎人世界》史低¥44,《耻辱终极版》仅需¥12
- 杉果秋促最后一天!海量3A大作击穿Steam史低
- 【果娘聊天室】国庆假期就这么水灵灵地结束啦!
- 《死或生》恋爱游戏新角色:来自大雷温柔公主的喂食
- 《寂静岭2》原制作人盛赞《寂静岭2:重制版》:新玩家能玩 我超高兴
- 艾什莉体模家今日份的COS:《鸣潮》守岸人 雪白香肩清纯而诱惑
- 微信积分商城进入方法,微信积分商城介绍
- 希诺宁进不进常驻说明,希诺宁角色分析
- 【原神】V5.0攻略 | 大型开图世界任务整合
- 群星.1990-细听锋芒(2014华星40金碟复刻版)【华星】【WAV+CUE】
- 郭婷筠.2024-爱你到底为啥物【福茂】【FLAC分轨】