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

首頁 > 編程 > Python > 正文

Python實現(xiàn)登錄接口的示例代碼

2020-02-16 01:55:57
字體:
供稿:網(wǎng)友

之前寫了Python實現(xiàn)登錄接口的示例代碼,最近需要回顧,就順便發(fā)到隨筆上了

要求:

1.輸入用戶名和密碼

2.認(rèn)證成功,顯示歡迎信息

3.用戶名3次輸入錯誤后,退出程序

4.密碼3次輸入錯誤后,鎖定用戶名

Readme:

1.UserList.txt 是存放用戶名和密碼的文件,格式為:username: password,每行存放一條用戶信息

2.LockList.txt 是存放已被鎖定用戶名的文件,默認(rèn)為空

3.用戶輸入用戶名,程序首先查詢鎖定名單 LockList.txt,如果用戶名在里面,提示用戶被鎖定,并退出程序

4.如果用戶名不在鎖定名單里,程序?qū)⒉樵冇脩裘麊?UserList.txt ,如果用戶名不在里面,將提示用戶不存在,請重新輸入,三次輸入錯誤,將退出程序

5.如果用戶名在用戶名單里,將提示用戶輸入密碼,密碼正確,顯示歡迎信息;3次輸入錯誤,將鎖定此用戶名(寫入鎖定名單)

流程圖:

代碼:

# Joe Youngimport os, sys, getpassos.system('cls')      #調(diào)用os模塊的system方法傳入'cls'參數(shù),清屏count = 0          #用戶名登錄次數(shù)計數(shù)while count < 3:  username = input('username:')  lock_file = open('LockList.txt', 'r+')   #打開LockList.txt文件,權(quán)限r(nóng)+(打開用于讀和寫文件。文件指針置于該文件的開頭)  lock_list = lock_file.readlines()      #使用readlines()方法逐行讀取LockList.txt,生成列表,并賦值給lock_list  for lock_line in lock_list:    if username == lock_line.strip('/n'):  #使用strip()方法去掉換行符,判斷username是否在LockList.txt      print('用戶名 %s 已被鎖定,請聯(lián)系管理員...' %(username))      sys.exit(1)             #sys模塊的exit()方法表示退出  with open('UserList.txt', 'r') as user_file:  #打開UserList.txt,權(quán)限只讀    user_list = user_file.readlines()      #逐行讀取UserList.txt文件,賦值給user_list變量  for user_line in user_list:    (user, passwd) = user_line.strip('/n').split(': ') #獲取user,passwd的值,用split(': ')實現(xiàn)分割字符串    if user == username:                #判斷用戶名是否在UserList.txt文件內(nèi)      n = 0                      #密碼輸入次數(shù)計數(shù)      while n < 3:                  #3次輸入機會        password = getpass.getpass('password:')   #使用getpass模塊的getpass()方法獲取用戶輸入的密碼        if password == passwd:           #判斷密碼是否匹配          print('歡迎 %s 登陸系統(tǒng)!' %(username))          sys.exit(0)        else:          if n != 2:               #n=2時,是最后一次機會,不需要提示還剩下0次機會            print('密碼錯誤,請重新輸入,您還有 %d 次機會/n' %(2-n))        n += 1                   #密碼輸入錯誤,次數(shù)+1      else:        lock_file.write(username + '/n')      #密碼輸入錯誤次數(shù)達到3次,把用戶名寫入LockList.txt文件,鎖定用戶名        sys.exit('錯誤次數(shù)過多,用戶名已被鎖定...')   #程序退出,并輸出提示  else:                          #用戶名不存在,執(zhí)行else語句    if count != 2:                   #count=2時,是最后一次輸入用戶名的機會,不用提示還剩下0次機會了      print('用戶名不存在,請重試,您還有 %d 次機會/n' %(2-count))  count += 1                       #用戶名輸入錯誤,count+1else:                      #用戶名輸入錯誤次數(shù)達到3次  sys.exit('輸入次數(shù)過多,程序已退出...')    #退出程序,并輸出提示lock_file.close()                #關(guān)閉LockList.txt文件            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 莒南县| 太谷县| 美姑县| 库尔勒市| 昭通市| 临澧县| 田阳县| 曲麻莱县| 临颍县| 沅江市| 阳原县| 南宁市| 碌曲县| 金坛市| 巴彦淖尔市| 杭锦后旗| 屏东市| 阿拉善右旗| 含山县| 高阳县| 富民县| 古丈县| 怀化市| 彝良县| 萨迦县| 五莲县| 濉溪县| 永平县| 芷江| 洛浦县| 咸宁市| 兴义市| 靖远县| 绥中县| 霍林郭勒市| 昌乐县| 噶尔县| 岳阳市| 武威市| 玉田县| 宝山区|