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

本文标题: Python实现控制台输入密码的方法

本文地址: http://www.cppcns.com/jiaoben/python/125609.html

python控制台输入代码_Python实现控制台输入密码的方法相关推荐

  1. python微信自动回复代码_Python 实现微信自动回复的方法

    众所周知QQ上面是可以设置自动回复的,但是微信上面并不可以.最近在学习Python,发现Python的适用范围是真的很广,这里使用itchat组件实现微信的自动回复 1:安装itchat pip in ...

  2. python词频统计代码_python统计词频

    一.程序分析 (1)将文件读入缓冲区(dst指文本文件存放路径,设置成形参,也可以不设,具体到函数里设置) def process_file(dst): # 读文件到缓冲区try: # 打开文件 tx ...

  3. java控制台输入做界面_Java控制台输入

    0 引言 从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增 ...

  4. python键盘输入代码,python监控键盘输入实例代码

    本文研究的主要是python监控键盘输入的相关代码,用到了os,sys,time等,具体实现代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- im ...

  5. python关机程序代码_python实现的重启关机程序实例

    本文实例讲述了Python实现的重启关机程序的方法,对Python程序设计有一定的参考价值.具体方法如下: 实例代码如下: #!/usr/bin/python #coding=utf-8 import ...

  6. python获取输入数字_python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...

  7. python怎么输入代码-python中如何设置代码自动提示

    第一步:打开pycharm,如下图所示: 第二步:File→Power Save Mode,把下面如图所示的勾去掉: 第三步:去掉勾后,不再使用省电模式,新建一个 python文件,输入需要输入的单词 ...

  8. python怎么输入代码-如何编写python代码

    一.Linux系统下:终端输入Python ,Python2, 都是默认进入的2版本 终端输入python3, 默认进入3版本, exit() 退出 二.编写python的程序方法 打开终端--输入p ...

  9. python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...

最新文章

  1. hosts多个ip对应一个主机名_一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端...
  2. [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?
  3. 如何为 SQL Server 2000 分发和安装 SQL-DMO(引用)
  4. python(7)– 类的反射
  5. 小明刚刚看完电影《第39级台阶》离开电影院的时候,他数了一下礼堂前的台阶,刚好是39级 站在台阶前,他突然又想到了一个问题 如果我每步只能迈上一个或者两个台阶,先迈左脚,然后左右交替,也就是说一共
  6. spring-第十五篇之AOP面向切面编程之AspectJ框架简单应用
  7. Android studio显示红叉,提示Error:please select android sdk
  8. minist数据集训练与测试
  9. 截止到 2019 年 6 月 14 日在 LeetCode 中文版上写的题解
  10. python hist alpha_matplotlib可视化篇hist()--直方图
  11. 导航条UIBarButtonItem添加图片,如何避免渲染
  12. 支付宝转账到银行卡的功能测试点
  13. 5千字长文:KeePass完全入门指南(附已经配置好的版本)
  14. 爆火出圈的chatGPT
  15. 华为鸿蒙系统怎么安装软件,华为鸿蒙系统2.0怎么进行安装?鸿蒙系统2.0安装步骤一览...
  16. [Python人工智能] 十七.Keras搭建分类神经网络及MNIST数字图像案例分析
  17. 上dj是什么意思_彩超上显示“乳腺结节”到底是什么意思?
  18. 浅谈产品经理入门和学习路径
  19. mysql MYSQL远程访问 授权IP
  20. 点评中国的5G试验频段

热门文章

  1. .net实现批量在线打印_如何实现报表的批量打印需求
  2. TRUNCATE TABLE恢复-脚本
  3. ​供应链管理-ERP的前世今生
  4. 大数据集群跨多版本升级、业务0中断,只因背后有TA
  5. 云小课 | 华为云KYON:网段零修改上云,简单又好用
  6. 多模态AI开发套件HiLens Kit:超强算力彰显云上实力
  7. 【华为云技术分享】【昇腾】【玩转Atlas200DK系列】基于Pycharm专业版构建开发板python开发运行环境
  8. 无码系列-1-架构师启蒙篇
  9. java中的多对多关系解析_Java中多对多映射关系(转)
  10. 查询没有走索引_MySQL 如何正确的使用索引