国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現控制臺輸入密碼的方法

2019-11-25 17:21:11
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現控制臺輸入密碼的方法。分享給大家供大家參考。具體如下:

1. raw_input() :

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

Note: 最簡單的方法,但是不安全

2. getpass.getpass() :

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

Note: 很安全,但是看不到輸入的位數,會讓人覺得有點不習慣,不知道的還以為沒有在輸入..

3. msvcrt.getch() :

代碼如下:

import msvcrt, sysdef 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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 札达县| 分宜县| 卓尼县| 长子县| 丽江市| 东城区| 德惠市| 锦屏县| 乐安县| 新泰市| 商河县| 泰和县| 阿鲁科尔沁旗| 民勤县| 莱芜市| 仁布县| 离岛区| 仁怀市| 辉县市| 孟连| 延吉市| 八宿县| 新龙县| 阿拉善左旗| 泽普县| 邓州市| 云林县| 纳雍县| 轮台县| 乌拉特后旗| 武胜县| 定安县| 湘阴县| 静海县| 南宫市| 大悟县| 拜城县| 大理市| 肥乡县| 梁平县| 界首市|