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

 更新时间:2015年05月29日 16:16:42   作者:lovebread  
这篇文章主要介绍了Python实现控制台输入密码的方法,实例对比分析了几种输入密码的方法,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • pyinstaller打包django项目的实现步骤

    pyinstaller打包django项目的实现步骤

    本文主要介绍了pyinstaller打包django项目的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • PyQt 异步任务多线程的几种方案示例详解

    PyQt 异步任务多线程的几种方案示例详解

    文章总结了多线程异步编程的不同方式,包括QThread、QThreadPool和concurrent.futures,分别适用于不同场景,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-01-01
  • 从训练好的tensorflow模型中打印训练变量实例

    从训练好的tensorflow模型中打印训练变量实例

    今天小编就为大家分享一篇从训练好的tensorflow模型中打印训练变量实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 利用Python实现生成并识别图片验证码

    利用Python实现生成并识别图片验证码

    这篇文章主要为大家的详细介绍了如何利用Python实现生成并识别图片验证码,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • Python 删除连续出现的指定字符的实例

    Python 删除连续出现的指定字符的实例

    今天小编就为大家分享一篇Python 删除连续出现的指定字符的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 浅谈Python类中的self到底是干啥的

    浅谈Python类中的self到底是干啥的

    这篇文章主要介绍了浅谈Python类中的self到底是干啥的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python中使用支持向量机SVM实践

    Python中使用支持向量机SVM实践

    这篇文章主要为大家详细介绍了Python中使用支持向量机SVM实践,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Python 虚拟环境venv详解

    Python 虚拟环境venv详解

    Python 虚拟环境主要是为不同 Python 项目创建一个隔离的环境,每个项目都可以拥有独立的依赖包环境,而项目间的依赖包互不影响,对Python 虚拟环境venv相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • python re库的正则表达式入门学习教程

    python re库的正则表达式入门学习教程

    这篇文章主要给大家介绍了关于python re库的正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Python中内存监控的三种实现方法介绍

    Python中内存监控的三种实现方法介绍

    在 Python 开发中,对内存使用情况进行监控是一项至关重要的任务,本文为大家整理了三种常用的内存监控方法的实现与对比,有需要的可以了解下
    2025-02-02

最新评论