1. raw_input() :
pwd
=raw_input(
'password: ')
pwd#
password: aaa
#aaa
note:最簡單的方法,但是不安全
2. getpass.getpass() :
import
getpass
pwd
=getpass.getpass(
'password: ')
pwd#
password:
#aaaa
note:很安全,但是看不到輸入的位數,會讓人覺得有點不習慣,不知道的還以為沒有在輸入..
3. msvcrt.getch() :
**import
msvcrt, sys
defpwd_input():
chars =
while
true:
newchar
=msvcrt.getch()
ifnewchar in'
\r\n':
#如果是換行,則輸入結束
''break
elif
newchar =='
\b': #
如果是退格,則刪除末尾一位
ifchars:
delchars[-1
]sys.stdout.write('\b
') #刪除乙個星號,但是不知道為什麼不能執行...
else'*
')#顯示為星號
''.join(chars)
pwd
=pwd_input()
pwd#
******
#aaaaaa
note:解決了第二種方法不能顯示輸入位數的問題,但是如果按退格鍵(backspace)的話,雖然實際的是退格了,
但控制台卻沒有顯示相應的退格,比如,當前輸入是:abcd,顯示為:****,然後現在打乙個退格鍵,實際
輸入為:abc,而顯示仍為:****。不知道為什麼sys.stdout.write('\b
') 這行沒有執行,估計是和使用
msvcrt.getch()有關係,如果有人知道為啥請回覆一下,3q~
退格回車控制台輸入密碼
時間緊張,先記一筆,後續優化與完善。每日一道理 感嘆人生,是因為曾經沒有過轟轟烈烈的壯舉,覺得渺小,覺得平庸,似乎生活過於簡單,簡單得讓人感覺煩躁。沒有大言不慚地說過將來,只是比較現實地握住了現在,我想,這是一條路,每個人所必須踏上的一次旅程,曾經看到過這樣一句話 成長的過程漫長卻充實,自毀的過程短...
python讀取控制台輸入
筆試常用 input array n input for i in range 0 int n row line input temp str line.split for str in temp str int str print input array 輸入 31 2 3 4 5 6 7 8 9...
python筆試 接收控制台輸入
1.字元和數字混合 input 23 s raw input 此時s儲存就是整個輸入,之後就需要手動的去獲得裡面的資料了。一般常用的處理字串的操作 split,int,float等等 加上陣列切片就可以了 2.純數字 input 23.45 25 s input import sys for lin...