用python做登陆系统

import hashlib
import json
import os


# 账户新是一个保存在文件中字典
def load_account(path):
    if os.path.exists(path):
        return json.load(open(path, "rt", encoding="utf-8"))
    else:
        return {}


# 将用户信息字典保存到硬盘中
def save_account(account_info, path):
    json.dump(account_info, open(path, "wt", encoding="utf-8"))


UI = """
1.注册
2.登陆
0.退出
"""

while True:
    print(UI)
    select = int(input("请输入你的选择:"))
    if select == 1:

        # 注册
        # 用输入账户密码,确认密码
        account = input("请输入账户:")
        dc = load_account("account.txt")
        if dc.get(account):
            print("该账户已存在,请重新注册")
        else:
            passwort = input("请输入密码:")
            confirm = input("请再次输入密码:")
            if passwort == confirm:
                # 密码加密
                hs_obj = hashlib.md5(passwort.encode())
                dc[account] = hs_obj.hexdigest()
                # 将账户密码保存到文件
                save_account(dc, "account.txt")
            else:
                print("前后两次密码输入不一致")
    elif select == 2:
        acc = input("请输入账号")
        dc = load_account("account.txt")

        if dc.get(acc):
            passwort = input("请输入密码")
            hs_obj = hashlib.md5(passwort.encode())
            if any(dc(acc) == hs_obj.hexdigest() for value in dc.values()):
                print("登陆成功")
            else:print("密码错误")
        else:print("账号错误")

    elif select == 0:
        sys.exit()
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍如何用Python实现一个简单的图书管理登录系统。 首先,您需要安装Python和相关的库。建议使用Python 3.x版本,并且可以使用以下命令安装所需的库: ``` pip install tkinter pip install pymysql ``` 接下来,您可以使用Tkinter库来创建GUI界面。以下是一个简单的登录界面示例: ```python import tkinter as tk class LoginWindow: def __init__(self, master): self.master = master self.master.title("图书管理系统登录") self.master.geometry("300x200") self.label_username = tk.Label(self.master, text="用户名") self.label_username.pack() self.entry_username = tk.Entry(self.master) self.entry_username.pack() self.label_password = tk.Label(self.master, text="密码") self.label_password.pack() self.entry_password = tk.Entry(self.master, show="*") self.entry_password.pack() self.button_login = tk.Button(self.master, text="登录", command=self.login) self.button_login.pack() def login(self): # 这里是登录逻辑,可以使用pymysql库连接数据库进行验证 pass if __name__ == '__main__': root = tk.Tk() app = LoginWindow(root) root.mainloop() ``` 在上面的示例中,我们创建了一个LoginWindow类,它继承了Tkinter的Frame类,这样我们可以在窗口中添加控件。在__init__方法中,我们创建了用户名和密码的标签、输入框和登录按钮。当用户点击按钮时,将调用login方法进行登录验证。 关于数据库的连接和验证,您可以使用pymysql库来实现。以下是一个简单的示例: ```python import pymysql def login(username, password): conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='books') cursor = conn.cursor() sql = "SELECT * FROM users WHERE username='%s' AND password='%s'" % (username, password) cursor.execute(sql) result = cursor.fetchone() cursor.close() conn.close() if result: return True else: return False ``` 在上面的示例中,我们连接了一个名为books的数据库,并查询了users表中是否存在与输入的用户名和密码匹配的记录。如果存在则返回True,否则返回False。 综合以上内容,您可以尝试编写一个完整的图书管理登录系统。当然,这只是一个简单的示例,实际开发中还需要考虑到更多的功能和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值