• 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中最常用的操作列表的几种方法归纳
  • python基础教程之类class定义使用方法
  • 利用python爬取软考试题之ip自动代理
  • 浅述python中argsort()函数的实例用法
  • python每次处理固定个数的字符的方法总结
  • go和python调用其它程序并得到程序输出
  • Python中的os.path路径模块中的操作方法总结
  • Python实现新浪博客备份的方法
  • Python程序中设置HTTP代理
  • Eclipse中Python开发环境搭建简单教程

文章分类

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

最近更新的内容

    • python的Template使用指南
    • Unicode和Python的中文处理
    • 在Python中操作文件之truncate()方法的使用教程
    • python创建进程fork用法
    • Python自定义类的数组排序实现代码
    • 在Python中marshal对象序列化的相关知识
    • python搭建简易服务器分析与实现
    • python多线程编程中的join函数使用心得
    • php使用递归与迭代实现快速排序示例
    • 在Python的Django框架中加载模版的方法

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

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