小白python登陆接口,可能有很多错,发出来以后自己找找错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了小白python登陆接口,可能有很多错,发出来以后自己找找错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3154字,纯文字阅读大概需要5分钟。
内容图文
![小白python登陆接口,可能有很多错,发出来以后自己找找错误](/upload/InfoBanner/zyjiaocheng/839/e3a9d2e3a63548c5b1f68d661f6d5929.jpg)
#Author:huaiq user_dict ={}#初始化一个空字典 user_list =[]#初始化一个空列表,程序可以向里面加入元素login_error_count=0 #用于计数非表内用户名错误次数 #使用while无限循环输入 while True: username = input("username:") #输入用户名 passwd = input("password:") #输入密码 users_data = open(r'D:\360Downloads\userpasswd.txt', 'r') # 登陆用户读取数据文件 userpasswd.txt #循环遍历打开的数据 for user_data in users_data: #使用strip除去user_data中的空格并存入user_list user_list = user_data.strip() #使用split以逗号的形式隔开并重新存入user_datas user_datas = user_list.split(',') #将user_datas第一个位置的值(用户名)存入user_name user_name = user_datas[0].strip() #将user_datas第二个位置的值(密码)存入user_passwd user_passwd = user_datas[1].strip() #将user_datas第三个位置的值(锁定情况)存入user_locked user_locked = user_datas[2].strip() #将user_datas第四个位置的值(错误次数)存入user_error_count,并将类型转化为强整型 user_error_count = int(user_datas[3].strip()) #将前面定义好的变量信息存入字典dict对应的键名中,键名可以随便取 user_dict[user_name]= {'name': user_name, 'passwd': user_passwd, 'locked': user_locked, 'errcount': user_error_count} #关闭打开的userpasswd.txt文件 users_data.close() #匹配输入的用户名是否在字典中已有用户配对 #keys()函数以列表返回一个字典所有的键。 if username in user_dict.keys(): #如果该用户‘locked’键名处值为1则输出锁定 if user_dict[username]['locked'] == '1': print("该用户已被锁定!") break #如果用户名跟密码和字典中的匹配则成功登陆 if username==user_dict[username]['name'] and passwd == user_dict[username]['passwd']: print("欢迎用户【{name}】的登陆!".format(name=username)) break else: #反之则该用户的错误次数+1 user_dict[username]['errcount'] += 1 #三次错误输入后锁定 if user_dict[username]['errcount'] <3: print("您的密码错误,您还有{times}次机会输入".format(times=3-user_dict[username]['errcount'])) #打开userpasswd.txt存入至write_data,追加错误到该文件中 write_data = open(r'D:\360Downloads\userpasswd.txt','w+') #values()用于返回给定字典中可用的所有值的列表存入user_value中 for user_value in user_dict.values(): #将user_value中遍历的值保存到列表中并在之后一个数据行换行 user_list = [user_value['name'],user_value['passwd'],str(user_value['locked']),str(user_value['errcount'])] #将user_list数据行中的值以逗号的形式格式化,并且换行 users_list = ','.join(user_list) write_data.write(users_list + '\n') #关闭打开的userpasswd.txt write_data.close() else: print("您尝试的次数超过三次,该用户【{name}】将被锁定!".format(name=username)) #锁定该用户 user_dict[username]['locked'] = '1' #因为该用户已被锁定所以错误次数可清零了 user_dict[username]['errcount'] = '0' #再次打开追加到该文件中 write_data = open(r'D:\360Downloads\userpasswd.txt','w+') #同上 for user_value in user_dict.values(): user_list = [user_value['name'],user_value['passwd'], str(user_value['locked']),str(user_value['errcount'])] users_list = ','.join(user_list) write_data.write(users_list + '\n') write_data.close() break else: print('该用户名不存在!你可以尝试三次!你还可以尝试{times}次!'.format(times=2-login_error_count)) login_error_count+=1 if login_error_count > 2: break
途中遇到很多错误,花了一条参考了一些改好了
1.文件名更改是自己加了后缀导致自己绝对路径都找不到该文件,哈哈
2.文件转义符号直接在前面加个r就行了
3.字典中的[user_name]搞成了输入时的username导致直接退到最后。。。
内容总结
以上是互联网集市为您收集整理的小白python登陆接口,可能有很多错,发出来以后自己找找错误全部内容,希望文章能够帮你解决小白python登陆接口,可能有很多错,发出来以后自己找找错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。