以下是一个使用外部文件存储用户名和密码,并允许多个用户的Python程序示例:
import json
def load_users():
try:
with open('users.json', 'r') as file:
users = json.load(file)
except FileNotFoundError:
users = {}
return users
def save_users(users):
with open('users.json', 'w') as file:
json.dump(users, file)
def register_user():
username = input("请输入用户名: ")
password = input("请输入密码: ")
users = load_users()
if username in users:
print("该用户名已存在")
else:
users[username] = password
save_users(users)
print("注册成功")
def login():
username = input("请输入用户名: ")
password = input("请输入密码: ")
users = load_users()
if username in users and users[username] == password:
print("登录成功")
else:
print("用户名或密码错误")
def main():
while True:
print("1. 注册新用户")
print("2. 登录")
print("3. 退出")
choice = input("请选择操作: ")
if choice == '1':
register_user()
elif choice == '2':
login()
elif choice == '3':
break
else:
print("无效的选项")
if __name__ == "__main__":
main()
在上述示例中,我们使用了一个名为users.json
的外部文件来存储用户名和密码。load_users
函数从文件中加载用户数据,并save_users
函数将更新后的用户数据保存回文件。
register_user
函数用于注册新用户,它首先检查用户名是否已存在,并将新用户的用户名和密码添加到用户数据中。
login
函数用于登录,它检查输入的用户名和密码是否与用户数据中的匹配。
main
函数是程序的入口点,它显示菜单选项并根据用户的选择调用相应的函数。
注意:在实际应用中,存储用户密码的外部文件应该进行适当的保护,确保只有授权的用户可以访问。此示例仅用于演示目的,不包含任何安全性措施。