• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python实现控制台输入密码的方法

Python实现控制台输入密码的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python控制台,python 控制台输入,python 控制台输出,控制台运行python,控制台运行python程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了Python实现控制台输入密码的方法。分享给大家供大家参考。具体如下:

1. raw_input() :

pwd = raw_input('password: ')
print pwd
# password: aaa
# aaa

</div>

Note: 最简单的方法,但是不安全

2. getpass.getpass() :

import getpass
pwd = getpass.getpass('password: ')
print pwd
# password:
# aaaa

</div>

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

</div>

Note: 解决了第二种方法不能显示输入位数的问题,但是如果按退格键(backspace)的话,虽然实际的是退格了,

但控制台却没有显示相应的退格,比如,当前输入是:abcd,显示为:****,然后现在打一个退格键,实际

输入为:abc,而显示仍为:****。不知道为什么 sys.stdout.write('\b') 这行没有执行,估计是和使用msvcrt.getch()有关系。感兴趣的朋友可以进一步研究一下。

希望本文所述对大家的Python程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • Python实现控制台进度条功能
  • python实现在控制台输入密码不显示的方法
  • python在控制台输出进度条的方法
  • Python实现控制台输入密码的方法
  • Python实现控制台输入密码的方法
  • python 不关闭控制台的实现方法
  • python 不关闭控制台的实现方法

相关文章

  • Python的time模块中的常用方法整理
  • Python中的引用和拷贝浅析
  • Python将图片批量从png格式转换至WebP格式
  • python使用正则表达式检测密码强度源码分享
  • python获取指定网页上所有超链接的方法
  • 使用Python的web.py框架实现类似Django的ORM查询的教程
  • python使用wxpython开发简单记事本的方法
  • Python中AND、OR的一个使用小技巧
  • python实现红包裂变算法
  • Python中的并发编程实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • pyv8学习python和javascript变量进行交互
    • python中sets模块的用法实例
    • python的id()函数解密过程
    • python生成日历实例解析
    • Python程序中使用SQLAlchemy时出现乱码的解决方案
    • 浅谈python字典多键值及重复键值的使用
    • python从入门到精通(DAY 1)
    • python学习数据结构实例代码
    • python每次处理固定个数的字符的方法总结
    • 在Python中使用列表生成式的教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有