Python后台管理程序:权限控制与密码修改

2 下载量 112 浏览量 更新于2024-08-29 收藏 153KB PDF 举报
"一个简单的Python后台管理程序,用于实现用户登录状态验证和权限控制功能。程序包含两个装饰器,一个检查用户是否已登录,另一个检查用户是否为管理员。主要功能有修改密码(针对普通用户)和查看个人信息。" 在Python编程中,后台管理系统是一个常见应用场景,通常用于管理数据、用户权限等。这个简单的Python后台管理程序主要涉及以下几个核心知识点: 1. **装饰器(Decorator)**: 装饰器是Python中的一种高级技巧,用于在不修改原函数代码的情况下,增加或修改其功能。在这个程序中,`outer` 和 `outer1` 都是装饰器函数。`outer` 检查用户是否已登录,如果未登录则提示用户需先登录;`outer1` 检查用户类型,如果不是管理员则提示权限不足。 2. **字典(Dictionary)**: `USER_LOGIN` 是一个字典,用于存储用户登录状态和其他信息。在这个例子中,它包含了 `is_login` 和 `user_type` 这两个键值对,分别表示用户是否已登录和用户类型。 3. **文件操作**: - 使用 `open()` 函数读取和写入文件。`regist` 文件存储了用户信息,每个用户信息以管道符(|)分隔。 - `shutil.move()` 用于移动文件,这里是将原 `regist` 文件备份为 `regist_bak`。 - `os.rename()` 用于重命名文件,将临时文件 `regist_new` 更名为 `regist`,完成密码修改。 4. **条件判断(Conditional Statements)**: 程序通过 `if` 语句进行逻辑判断,如检查用户是否已登录、用户类型是否为管理员等,根据这些条件执行不同的操作。 5. **字符串处理**: 使用 `strip()` 去除字符串两侧的空白字符,`split('|')` 按照管道符切割字符串,形成列表。在写回文件时,用 `join()` 将列表元素重新组合成字符串并添加换行符。 6. **函数参数**: 函数 `change_pwd` 接受三个参数:`changed_user`(要修改密码的用户名)、`changed_pwd`(新密码)、`type_user`(用户类型)。`look_information` 函数用于查看当前用户的个人信息。 7. **模块导入**: 程序导入了 `shutil`、`os` 和 `sys` 模块,分别用于文件操作、系统相关操作和系统路径处理。 8. **注释与文档字符串**: 程序中使用了单行和多行注释来解释代码的功能,提高代码可读性。 这个简单的后台管理程序提供了一个基础框架,可以进一步扩展以满足更复杂的需求,例如添加用户注册、登录功能,实现更完善的权限控制,或者支持多种操作,如添加、删除和查询用户信息。