当前位置:   article > 正文

python实现注册与登录_python注册登录服务器

python注册登录服务器

注:本文仅制作了函数来实现

需要代码的直接翻到最后(看不见的是代码还在审核)


相信大家非常熟悉这个界面:

 这是一个基础的登录界面,当然,对应的还有注册界面:

本文将在服务端的角度解释如何实现这两个功能


注册

想要登录,那就需要先注册。虽然可以肯定的是这两个功能都不是那么简单,但是我会带大家了解如何制作。


创建文件存储密码

在注册时,一定要有一个文件来储存注册信息的文件,这时候就需要json登场了,使用json快速保存与读取数据为各种格式

检测目录下是否有json文件,如果没有则创建

  1. if not os.path.exists('Main.json'):
  2. data = {
  3. "Password": {
  4. "admin": "123456"
  5. }
  6. }
  7. with open('Main.json', 'w') as file:
  8. json.dump(data, file)
  9. print('已在当前目录下创建 Main.json 信息储存文件。')

我接下来带大家一句句分析其作用

首先是

if not os.path.exists('Main.json'):

这是一个通用用法,使用os来检测目录下是否有目标文件,这里的意思是如果目录下没有Main.json文件,则。。。

data = { ... } (内容省略)

这一行比较好理解,创建一个字典,并且在字典中创建一个叫做password的字典用来储存密码与账号

with open('Main.json', 'w') as file:
    json.dump(data, file)

这行代码理解起来很方便:打开叫做main.json的文件,打开方式是w,打开后这个写入方式为file

接下来使用json.dump写入data这个数据到main.json当中去

注:打开方式w就是写入方式打开,如果你只是阅读,那就是r


接受参数与处理

首先放上注册模块的完整代码:

  1. def register(message):
  2. msg_list = json.loads(message)
  3. new_username, new_password = msg_list[1], msg_list[2]
  4. with open("Main.json", "r") as f:
  5. data = json.load(f)
  6. if new_username in data["Password"]:
  7. response = "username_taken"
  8. else:
  9. data["Password"][new_username] = new_password
  10. with open("main.json", "w") as f:
  11. json.dump(data, f)
  12. response = "success"
  13. return response

接下来就是一行行的解释:

第一行:def register 相信有经验的诸位已经看出来了,定义了一个函数,叫做register,接受message参数

这个参数的格式是一个string格式的list(具体原因会在下一篇blog中讲到)

不需要的小伙伴可以直接把

msg_list = json.loads(message)

改为

msg_list = message

然后传入参数变为list格式即可

接下来就是从这个list当中读取要注册的用户名和密码

new_username, new_password = msg_list[1], msg_list[2]

因为第一个参数是告诉我们他是干什么的,所以,这里的msg_list的三个参数读取了后两个

注意:list的索引是从0开始的,所以这里读取1和2,就是读取2和3参数

下面就是上面说过的,用r方式读取文件

  1. with open("Main.json", "r") as f:
  2. data = json.load(f)

这里就不多说了,直接下一个,不会的可以返回去看或者去我微信群问我

  1. if new_username in data["Password"]:
  2. response = "username_taken"

这是一个判断代码,在data中查找password的内容,判断这个用户名是不是以及注册过了,如果注册过了则直接返回参数

username_taken

如果没有注册过:

  1. else:
  2. data["Password"][new_username] = new_password
  3. with open("main.json", "w") as f:
  4. json.dump(data, f)
  5. response = "success"

写入用户名和密码,并且返回success

很好,注册已经结束了,那么接下来就是登录!


登录

登录是最为简单的,但也是最复杂的,大家觉得登录需要考察的是什么代码水平呢(投票看不见可能是还在审核)

一样,先放上完整代码

  1. def sigh_in(message):
  2. msg_list = json.loads(message)
  3. with open("Main.json", "r") as f:
  4. data = json.load(f).get("Password")
  5. username, user_password = msg_list[1], msg_list[2]
  6. for item in data:
  7. if item == username:
  8. if data[item] == user_password:
  9. response = "success"
  10. else:
  11. response = "wrong_password"
  12. break
  13. else:
  14. response = "wrong_name"
  15. return response

登录的代码的相关知识我在前文都已经大致说过了

这里就不多做解释了,唯一比较难的是这个判断以及报错输出,大家可以试着理解一下,不会的可以加群问我

照常,放出微信群二维码,欢迎大家进群问bug或者参与游戏开发:

放出我的github代码地址(完整的socket连接实现登录与注册)

github地址-点击我查看

那么今天的blog到此结束啦~~~

下次见~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/747695
推荐阅读
相关标签
  

闽ICP备14008679号