欢迎访问宙启技术站
智能推送

Python中的登录功能实现和用户信息存储

发布时间:2024-01-13 21:49:44

在Python中,可以使用字典或者数据库来实现登录功能和用户信息存储。下面是一个使用字典实现的例子:

def register():
    username = input("请输入用户名:")
    password = input("请输入密码:")
    user_info = {"username": username, "password": password}
    return user_info

def login(user_info):
    username = input("请输入用户名:")
    password = input("请输入密码:")
    if user_info["username"] == username and user_info["password"] == password:
        print("登录成功!")
    else:
        print("用户名或密码错误!")

def main():
    user_info = register()
    login(user_info)

if __name__ == "__main__":
    main()

在这个例子中,register()函数用于注册新用户,接收用户输入的用户名和密码,并将其存储在一个字典中。login()函数用于登录,通过比较用户输入的用户名和密码与字典中存储的用户名和密码是否一致来确定用户是否登录成功。

另外,可以使用数据库来实现用户信息的存储。下面是一个使用SQLite数据库实现的例子:

import sqlite3

def register():
    username = input("请输入用户名:")
    password = input("请输入密码:")

    conn = sqlite3.connect("users.db")
    c = conn.cursor()
    c.execute("CREATE TABLE IF NOT EXISTS users (username TEXT, password TEXT)")
    c.execute("INSERT INTO users VALUES (?, ?)", (username, password))
    conn.commit()
    conn.close()

def login():
    username = input("请输入用户名:")
    password = input("请输入密码:")

    conn = sqlite3.connect("users.db")
    c = conn.cursor()
    c.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
    if c.fetchone():
        print("登录成功!")
    else:
        print("用户名或密码错误!")
    conn.close()

def main():
    register()
    login()

if __name__ == "__main__":
    main()

在这个例子中,register()函数用于注册新用户,将用户输入的用户名和密码插入到名为users的表中。login()函数用于登录,通过在数据库中查询与用户输入的用户名和密码匹配的记录来确定用户是否登录成功。需要注意的是,这个例子中使用了SQLite数据库,你可以使用其他数据库,比如MySQL或者PostgreSQL,只需修改相关的连接和查询语句。

无论是使用字典还是数据库存储用户信息,都可以通过调用相应的函数实现登录功能和用户信息的存储。