万叶集 |
---|
🎉 隐约雷鸣,阴霾天空。 🎉 |
🎉 但盼风雨来,能留你在此。 🎉 |
前言:
✌ 作者简介:渴望力量的哈士奇,大家可以叫我 🐶哈士奇🐶 。(我真的有一只哈士奇)
🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦
📕 系列专栏:
⛽️ Python全栈系列 - [更新中] 【 本文在该系列】
🍎 Python零基础入门篇
🍎 Python语法进阶篇
👋 网安之路系列
🍋 网安之路踩坑篇
🍋 网安知识扫盲篇
🍋 Vulhub 漏洞复现篇
🍋 Shell脚本编程篇
🍋 Web攻防篇 2021年9月3日停止更新,转战先知等安全社区
🍋 渗透工具使用集锦 2021年9月3日停止更新,转战先知等安全社区
⭐️ 点点点工程师系列
🍹 测试神器 - Charles 篇
🍹 测试神器 - Fiddler 篇
🍹 测试神器 - Jmeter 篇
🍹 自动化 - RobotFrameWork 系列
🍹 自动化 - 基于 JAVA 实现的WEB端UI自动化
🍹 自动化 - 基于 MonkeyRunner 实现的APP端UI自动化
该章节我们主要对 base.py
模块中的基础用户信息进行开发,该章节主要有六个目标。
1、确定用户表中每个用户的信息字段
2、读取
user.json
文件3、写入
user.json
文件(检测该用户是否存在),存在则不可写入4、对于某个用户
role
权限的修改(或者说是身份的修改)__change_role() 函数
5、对于 acitve 用户的活跃度的修改
6、delete_user 删除某个用户的修改
用户信息的字段:
- username:姓名
- role:角色(normal 或 admin)
- active:活跃度(身份是否有效:True or False)
- create_time:创建时间(timestamp)
- update_time:更新时间(timestamp)
- gifts:奖品列表(用以存储用户抽到了哪些奖品)
用户信息存储格式:(字典)
username:{username, role, active}
文章目录
- 🐳 base 模块 - 用户信息的的读写与检查
- 🐳 base 模块 - 用户的修改与删除
🐳 base 模块 - 用户信息的的读写与检查
在上一章节的 base.py
模块基础上,增加 __read_users()
与 __write_user()
函数。
所以接下来,我们就实现一下前三个目标。
# coding:utf-8
"""
1:导入 user.json ,文件检查
2:导入 gift.json ,文件检查
*************************
3、确定用户表中每个用户的信息字段
4、读取 `user.json` 文件
5、写入 `user.json` 文件(检测该用户是否存在),存在则不可写入
"""
import os
import json
import time
from common.utils import check_file
from common.error import UserExistsError
class Base(object):
def __init__(self, user_json, gift_json):
self.user_json = user_json
self.gift_json = gift_json
self.__check_user_json()
self.__check_gift_json()
def __check_user_json(self): # 调用 utils 模块的公共函数 check_file 检查 user.json 文件
check_file(self.user_json)
def __check_gift_json(self): # 调用 utils 模块的公共函数 check_file 检查 gift.json 文件
check_file(self.gift_json)
def __read_user(self): # 读取 user.json 文件
with open(self.user_json) as f:
data = json.loads(f.read())
return data
def __write_user(self, **user): # 写入用户信息(进行写入时的判断)
if "username" not in user:
raise ValueError("missing username") # 缺少 username 信息
if "role" not in user:
raise ValueError("missing role") # 缺少角色信息(缺少权限信息)
user['active'] = True # 初始化用户基础信息
user['create_time'] = time.time()
user['update_time'] = time.time()
user['gifts'] = []
users = self.__read_user() # 读取 user.json
# print(users) # 打印输出 users 是为了调试
# return # 打印输出调试 users ,return 是为了不在执行后面的代码
if user['username'] in users: # 判断用户信息是否存在,如果存在则抛出 'error.py' 模块自定义的 UserExistsError
raise UserExistsError('username {} had existe'.format(user['username']))
users.update(
{user['username']: user}
)
json_users = json.dumps(users)
with open(self.user_json, 'w') as f:
f.write(json_users)
if __name__ == '__main__':
user_path = os.path.join(os.getcwd(), "storage", "user.json")
gift_path = os.path.join(os.getcwd(), "storage", "gift.json")
print(user_path)
print(gift_path)
base = Base(user_json=user_path, gift_json=gift_path)
print(base)
base.write_user(username='Neo', role='admin')
PS:需要注意的是,为了达到调试显示的结果,我们需要将上文中的代码的 __write_user()
私有函数,改为 write_user()
才能够达到如下图所示的效果。
运行结果如下:
从上图中,可以看出确实返回了我们想要的信息,但是 create_time
和 update_time
字段部分,显示的是时间戳,可读性很差,不是很友好。这个时候我们就可以将 时间戳
转为可读的字符串通过在 utils.py
模块设置为一个公共函数,方便调用。
将 时间戳 封装为 utils.py
模块的一个公共函数示例如下:
# coding:utf-8
import os
import time
from .error import NotPathError, NotFileError, FormatError
def timestamp_to_string(timestamp):
time_obj = time.localtime(timestamp) # 将传入的时间戳实例化成一个时间对象
time_str = time.strftime('%Y-%m-%d %H:%M:%S ', time_obj)
return time_str
def check_file(path):
if not os.path.exists(path): # 判断文件地址路径是否存在
raise NotPathError("not found %s " % path)
if not path.endswith('.json'): # 判断文件是否是 json 格式
raise FormatError()
if not os.path.isfile(path): # 判断是否是文件
raise NotFileError()
接下来就需要对 base.py
模块中的 __read_user()
进行修改。修改后内容如下:
# coding:utf-8
"""
1:导入 user.json ,文件检查
2:导入 gift.json ,文件检查
*************************
3、确定用户表中每个用户的信息字段
4、读取 `user.json` 文件
5、写入 `user.json` 文件(检测该用户是否存在),存在则不可写入
******************************************************
"""
import os
import json
import time
from common.utils import check_file, timestamp_to_string
from common.error import UserExistsError
class Base(object):
def __init__(self, user_json, gift_json):
self.user_json = user_json
self.gift_json = gift_json
self.__check_user_json()
self.__check_gift_json()
def __check_user_json(self): # 调用 utils 模块的公共函数 check_file 检查 user.json 文件
check_file(self.user_json)
def __check_gift_json(self): # 调用 utils 模块的公共函数 check_file 检查 gift.json 文件
check_file(self.gift_json)
def __read_user(self, time_to_str=True): # 读取 user.json 文件;
# timestamp_to_string 修改为 True 时时间戳为可读的格式(调试)
with open(self.user_json, 'r') as f:
data = json.loads(f.read())
if time_to_str == True:
for username, t in data.items():
t['create_time'] = timestamp_to_string(t['create_time'])
# print(t['create_time']) # 打印输出时间格式是否改为 可读的 "%Y-%m-%d %H:%M:%S" 格式
t['update_time'] = timestamp_to_string(t['update_time'])
data[username] = t
print(data) # 调试打印输出 __read_user() 的用户信息
return data
def write_user(self, **user): # 写入用户信息(进行写入时的判断)
if "username" not in user:
raise ValueError("missing username") # 缺少 username 信息
if "role" not in user:
raise ValueError("missing role") # 缺少角色信息(缺少权限信息)
user['active'] = True # 初始化用户基础信息
user['create_time'] = time.time()
user['update_time'] = time.time()
user['gifts'] = []
users = self.__read_user() # 读取 user.json
print(users) # 打印输出 users 是为了调试
return # 打印输出调试 users ,return 是为了不在执行后面的代码
if user['username'] in users: # 判断用户信息是否存在,如果存在则抛出 'error.py' 模块自定义的 UserExistsError
raise UserExistsError('username {} had existe'.format(user['username']))
users.update(
{user['username']: user}
)
json_users = json.dumps(users)
with open(self.user_json, 'w') as f:
f.write(json_users)
print(users) # 调试打印输出 users 的用户信息
if __name__ == '__main__':
user_path = os.path.join(os.getcwd(), "storage", "user.json")
gift_path = os.path.join(os.getcwd(), "storage", "gift.json")
print(user_path)
print(gift_path)
base = Base(user_json=user_path, gift_json=gift_path)
base.write_user(username='Neo', role='admin')
这里将代码中的如下两行取消注释,且将 def __read_user(self, time_to_str=False)
改为 def __read_user(self, time_to_str=True)
可以看到调试的 读取文件时,时间戳变为 "%Y-%m-%d %H:%M:%S" 的时间格式
# print(users) # 打印输出 users 是为了调试
# return # 打印输出调试 users ,return 是为了不在执行后面的代码
#*******************************************************************************
print(users) # 打印输出 users 是为了调试
return # 打印输出调试 users ,return 是为了不在执行后面的代码
执行结果如下:
但 user.json
文件内,仍显示的是时间戳格式。
🐳 base 模块 - 用户的修改与删除
接下来我们继续对 base.py
模块关于 user.json
文件进行相关的 *** 作,同样是三个目标。
1、对于某个用户
role
权限的修改(或者说是身份的修改)__change_role() 函数
2、对于 acitve 用户的活跃度的修改
3、delete_user 删除某个用户的修改
PS:以上三个函数,依然是
base类的内置函数;大家可能会有个疑问,为什么现在使用的一些函数都是内置函数呢?原因是未来我们开发 "admin"、"user" 相关类的时候,会覆盖或包裹这些内置函数在它们的外层进行业务相关的开发
用户信息的字段:
- username:姓名
- role:角色(normal 或 admin)
- active:活跃度(身份是否有效:True or False)
- create_time:创建时间(timestamp)
- update_time:更新时间(timestamp)
- gifts:奖品列表(用以存储用户抽到了哪些奖品)
用户信息存储格式:(字典)
username:{username, role, active}
先来编写 __change_role() 函数
# coding:utf-8
"""
1:导入 user.json ,文件检查 "__check_user_json() 函数"
2:导入 gift.json ,文件检查 "__check_gift_json() 函数"
*******************************************************
3、确定用户表中每个用户的信息字段
4、读取 `user.json` 文件 "__read_users() 函数"
5、写入 `user.json` 文件(检测该用户是否存在),存在则不可写入;"__write_user() 函数" ,这里方便调试,先使用 write_user()
***********************************************************************************************************
6、对于某个用户 `role` 权限的修改(或者说是身份的修改) `__change_role() 函数`; 同样方便调试,先使用 change_role()
7、对于 acitve 用户的活跃度的修改; `__change_acitve() 函数`;
8、delete_user 删除某个用户的修改
***********************************************************************************************************
"""
import os
import json
import time
from common.consts import ROLES
from common.error import UserExistsError, RoleError, UserNameNotExist
from common.utils import check_file, timestamp_to_string
class Base(object):
def __init__(self, user_json, gift_json):
self.user_json = user_json
self.gift_json = gift_json
self.__check_user_json()
self.__check_gift_json()
def __check_user_json(self): # 调用 utils 模块的公共函数 check_file 检查 user.json 文件
check_file(self.user_json)
def __check_gift_json(self): # 调用 utils 模块的公共函数 check_file 检查 gift.json 文件
check_file(self.gift_json)
def __read_users(self, time_to_str=False): # 读取 user.json 文件;
# timestamp_to_string 修改为 True 时时间戳为可读的格式(调试)
with open(self.user_json, 'r') as f:
data = json.loads(f.read())
if time_to_str == True:
for username, t in data.items():
t['create_time'] = timestamp_to_string(t['create_time'])
# print(t['create_time']) # 打印输出时间格式是否改为 可读的 "%Y-%m-%d %H:%M:%S" 格式
t['update_time'] = timestamp_to_string(t['update_time'])
data[username] = t
print(data) # 调试打印输出 __read_user() 的用户信息
return data
def write_user(self, **user): # 写入用户信息(进行写入时的判断)
if "username" not in user:
raise ValueError("missing username") # 缺少 username 信息
if "role" not in user:
raise ValueError("missing role") # 缺少角色信息(缺少权限信息)
user['active'] = True # 初始化用户基础信息
user['create_time'] = time.time()
user['update_time'] = time.time()
user['gifts'] = []
users = self.__read_users() # 读取 user.json
# print(users) # 打印输出 users 是为了调试
# return # 打印输出调试 users ,return 是为了不在执行后面的代码
if user['username'] in users: # 判断用户信息是否存在,如果存在则抛出 'error.py' 模块自定义的 UserExistsError
raise UserExistsError('username {} had existe'.format(user['username']))
users.update(
{user['username']: user}
)
json_users = json.dumps(users)
with open(self.user_json, 'w') as f:
f.write(json_users)
print(users) # 调试打印输出 users 的用户信息
def change_role(self, username, role): # 定义修改用户 role 信息函数
users = self.__read_users() # 获取当前所有用户信息
user = users.get(username) # 根据传入的 username 获取该用户的信息
if not user: # 判断用户是否存在 user.json 文件内,若不合法则抛出自定义 "error.py" 模块的 UserNameNotExist 异常
raise UserNameNotExist('username \'{}\' not exist'.format(username))
if role not in ROLES: # 判断用户角色信息是否合法,若不合法则抛出自定义 "error.py" 模块的 RoleError 异常
# "consts.py" 模块的 "ROLES"的值是写死的: ROLES = ['admin', 'normal']
raise RoleError('not use role {}'.format(role))
user['role'] = role
user['update_time'] = time.time()
users[username] = user
json_data = json.dumps(users) # 将 change_role 更新后的内容写入 user_json 文件
with open(self.user_json, 'w') as f:
f.write(json_data)
print(json_data)
return '\'{}\' 的 \'role\' 信息已变更为 \'{}\''.format(user['username'], user['role'])
if __name__ == '__main__':
user_path = os.path.join(os.getcwd(), "storage", "user.json")
gift_path = os.path.join(os.getcwd(), "storage", "gift.json")
print(user_path)
print(gift_path)
base = Base(user_json=user_path, gift_json=gift_path)
# base.write_user(username='Neo', role='admin')
result = base.change_role(username='Neo', role='normal')
print(result)
运行结果如下:
尝试传入不存在的 username
或 role
运行结果如下:
接下来我们继续 __change_role() 函数
# coding:utf-8
"""
1:导入 user.json ,文件检查 "__check_user_json() 函数"
2:导入 gift.json ,文件检查 "__check_gift_json() 函数"
*************************
3、确定用户表中每个用户的信息字段
4、读取 `user.json` 文件 "__read_users() 函数"
5、写入 `user.json` 文件(检测该用户是否存在),存在则不可写入;"__write_user() 函数" ,这里方便调试,先使用 write_user()
******************************************************
6、对于某个用户 `role` 权限的修改(或者说是身份的修改) "__change_role() 函数"; 同样方便调试,先试用 change_role()
7、对于 acitve 用户的活跃度的修改; "__change_acitve() 函数"; 同样方便调试,先使用 change_acitve()
8、delete_user 删除某个用户的修改; "__delete_user() 函数"; 同样方便调试,先使用 delete_user()
******************************
"""
import os
import json
import time
from common.consts import ROLES
from common.error import UserExistsError, RoleError, UserNameNotExist
from common.utils import check_file, timestamp_to_string
class Base(object):
def __init__(self, user_json, gift_json):
self.user_json = user_json
self.gift_json = gift_json
self.__check_user_json()
self.__check_gift_json()
def __check_user_json(self): # 调用 utils 模块的公共函数 check_file 检查 user.json 文件
check_file(self.user_json)
def __check_gift_json(self): # 调用 utils 模块的公共函数 check_file 检查 gift.json 文件
check_file(self.gift_json)
def __read_users(self, time_to_str=False): # 读取 user.json 文件;
# timestamp_to_string 修改为 True 时时间戳为可读的格式(调试)
with open(self.user_json, 'r') as f:
data = json.loads(f.read())
if time_to_str == True:
for username, t in data.items():
t['create_time'] = timestamp_to_string(t['create_time'])
# print(t['create_time']) # 打印输出时间格式是否改为 可读的 "%Y-%m-%d %H:%M:%S" 格式
t['update_time'] = timestamp_to_string(t['update_time'])
data[username] = t
print(data) # 调试打印输出 __read_user() 的用户信息
return data
def write_user(self, **user): # 写入用户信息(进行写入时的判断)
if "username" not in user:
raise ValueError("missing username") # 缺少 username 信息
if "role" not in user:
raise ValueError("missing role") # 缺少角色信息(缺少权限信息)
user['active'] = True # 初始化用户基础信息
user['create_time'] = time.time()
user['update_time'] = time.time()
user['gifts'] = []
users = self.__read_users() # 读取 user.json
# print(users) # 打印输出 users 是为了调试
# return # 打印输出调试 users ,return 是为了不在执行后面的代码
if user['username'] in users: # 判断用户信息是否存在,如果存在则抛出 'error.py' 模块自定义的 UserExistsError
raise UserExistsError('username {} had existe'.format(user['username']))
users.update(
{user['username']: user}
)
json_users = json.dumps(users)
with open(self.user_json, 'w') as f:
f.write(json_users)
print(users) # 调试打印输出 users 的用户信息
def change_role(self, username, role): # 定义修改用户 role 信息函数
users = self.__read_users() # 获取当前所有用户信息
user = users.get(username) # 根据传入的 username 获取该用户的信息
if not user: # 判断用户是否存在 user.json 文件内,若不合法则抛出自定义 "error.py" 模块的 UserNameNotExist 异常
raise UserNameNotExist('username \'{}\' not exist'.format(username))
if role not in ROLES: # 判断用户角色信息是否合法,若不合法则抛出自定义 "error.py" 模块的 RoleError 异常
# "consts.py" 模块的 "ROLES"的值是写死的: ROLES = ['admin', 'normal']
raise RoleError('not use role {}'.format(role))
user['role'] = role
user['update_time'] = time.time()
users[username] = user
json_data = json.dumps(users) # 将 change_role 更新后的内容写入 user_json 文件
with open(self.user_json, 'w') as f:
f.write(json_data)
print(json_data)
return '\'{}\' 的 \'role\' 信息已变更为 \'{}\''.format(user['username'], user['role'])
def change_acitve(self, username): # 定义修改用户 active 函数,只需要传入 username 即可;
# 因为 active 只有两种状态, True 或 False ,这里默认为 True ,取反即可
users = self.__read_users()
user = users.get(username)
if not user: # 判断用户是否存在 user.json 文件内,若不合法则抛出自定义 "error.py" 模块的 UserNameNotExist 异常
raise UserNameNotExist('username \'{}\' not exist'.format(username))
user['active'] = not user['active'] # 当前用户的 active 状态取反
user['update_time'] = time.time() # 更新当前用户的 update_time 的更新时间
users[username] = user
json_data = json.dumps(users) # 将 change_acitve 更新后的内容写入 user_json 文件
with open(self.user_json, 'w') as f:
f.write(json_data)
print(json_data)
return '\'{}\' 的 \'active\' 信息已变更为 \'{}\''.format(user['username'], user['active'])
if __name__ == '__main__':
user_path = os.path.join(os.getcwd(), "storage", "user.json")
gift_path = os.path.join(os.getcwd(), "storage", "gift.json")
print(user_path)
print(gift_path)
base = Base(user_json=user_path, gift_json=gift_path)
# base.write_user(username='Neo', role='admin')
# result = base.change_role(username='Neo', role='normal')
# print(result)
result = base.change_acitve(username='Neo')
print(result)
运行结果如下:
OK,接下来编写今天最后一个函数 ``
# coding:utf-8
"""
*******************************************************
1:导入 user.json ,文件检查 "__check_user_json() 函数"
2:导入 gift.json ,文件检查 "__check_gift_json() 函数"
*******************************************************
3、确定用户表中每个用户的信息字段
4、读取 `user.json` 文件 "__read_users() 函数"
5、写入 `user.json` 文件(检测该用户是否存在),存在则不可写入;"__write_user() 函数" ,这里方便调试,先使用 write_user()
************************************************************************************************************
6、对于某个用户 `role` 权限的修改(或者说是身份的修改) `__change_role() 函数`; 同样方便调试,先试用 change_role()
7、对于 acitve 用户的活跃度的修改; `__change_acitve() 函数`; 同样方便调试,先使用 change_acitve()
8、delete_user 删除某个用户的修改; "__delete_user() 函数"; 同样方便调试,先使用 delete_user()
************************************************************************************************************
"""
import os
import json
import time
from common.consts import ROLES
from common.error import UserExistsError, RoleError, UserNameNotExist
from common.utils import check_file, timestamp_to_string
class Base(object):
def __init__(self, user_json, gift_json):
self.user_json = user_json
self.gift_json = gift_json
self.__check_user_json()
self.__check_gift_json()
def __check_user_json(self): # 调用 utils 模块的公共函数 check_file 检查 user.json 文件
check_file(self.user_json)
def __check_gift_json(self): # 调用 utils 模块的公共函数 check_file 检查 gift.json 文件
check_file(self.gift_json)
def __read_users(self, time_to_str=False): # 读取 user.json 文件;
# timestamp_to_string 修改为 True 时时间戳为可读的格式(调试)
with open(self.user_json, 'r') as f:
data = json.loads(f.read())
if time_to_str == True:
for username, t in data.items():
t['create_time'] = timestamp_to_string(t['create_time'])
# print(t['create_time']) # 打印输出时间格式是否改为 可读的 "%Y-%m-%d %H:%M:%S" 格式
t['update_time'] = timestamp_to_string(t['update_time'])
data[username] = t
print(data) # 调试打印输出 __read_user() 的用户信息
return data
def write_user(self, **user): # 写入用户信息(进行写入时的判断)
if "username" not in user:
raise ValueError("missing username") # 缺少 username 信息
if "role" not in user:
raise ValueError("missing role") # 缺少角色信息(缺少权限信息)
user['active'] = True # 初始化用户基础信息
user['create_time'] = time.time()
user['update_time'] = time.time()
user['gifts'] = []
users = self.__read_users() # 读取 user.json
# print(users) # 打印输出 users 是为了调试
# return # 打印输出调试 users ,return 是为了不在执行后面的代码
if user['username'] in users: # 判断用户信息是否存在,如果存在则抛出 'error.py' 模块自定义的 UserExistsError
raise UserExistsError('username {} had existe'.format(user['username']))
users.update(
{user['username']: user}
)
json_users = json.dumps(users)
with open(self.user_json, 'w') as f:
f.write(json_users)
print(users) # 调试打印输出 users 的用户信息
def change_role(self, username, role): # 定义修改用户 role 信息函数
users = self.__read_users() # 获取当前所有用户信息
user = users.get(username) # 根据传入的 username 获取该用户的信息
if not user: # 判断用户是否存在 user.json 文件内,若不合法则抛出自定义 "error.py" 模块的 UserNameNotExist 异常
raise UserNameNotExist('username \'{}\' not exist'.format(username))
if role not in ROLES: # 判断用户角色信息是否合法,若不合法则抛出自定义 "error.py" 模块的 RoleError 异常
# "consts.py" 模块的 "ROLES"的值是写死的: ROLES = ['admin', 'normal']
raise RoleError('not use role {}'.format(role))
user['role'] = role
user['update_time'] = time.time()
users[username] = user
json_data = json.dumps(users) # 将 change_role 更新后的内容写入 user_json 文件
with open(self.user_json, 'w') as f:
f.write(json_data)
print(json_data)
return '\'{}\' 的 \'role\' 信息已变更为 \'{}\''.format(user['username'], user['role'])
def change_acitve(self, username): # 定义修改用户 active 函数,只需要传入 username 即可;
# 因为 active 只有两种状态, True 或 False ,这里默认为 True ,取反即可
users = self.__read_users()
user = users.get(username)
if not user: # 判断用户是否存在 user.json 文件内,若不合法则抛出自定义 "error.py" 模块的 UserNameNotExist 异常
raise UserNameNotExist('username \'{}\' not exist'.format(username))
user['active'] = not user['active'] # 当前用户的 active 状态取反
user['update_time'] = time.time() # 更新当前用户的 update_time 的更新时间
users[username] = user
json_data = json.dumps(users) # 将 change_acitve 更新后的内容写入 user_json 文件
with open(self.user_json, 'w') as f:
f.write(json_data)
print(json_data)
return '\'{}\' 的 \'active\' 信息已变更为 \'{}\''.format(user['username'], user['active'])
def delete_user(self, username): # 定义删除用户的函数,只需要传入 username 即可
users = self.__read_users()
user = users.get(username)
if not user: # 判断用户是否存在 user.json 文件内,若不合法则抛出自定义 "error.py" 模块的 UserNameNotExist 异常
raise UserNameNotExist('username \'{}\' not exist'.format(username))
delete_user = users.pop(username) # 删除用户
json_data = json.dumps(users) # 将 change_acitve 更新后的内容写入 user_json 文件
with open(self.user_json, 'w') as f:
f.write(json_data)
print(json_data)
print(delete_user)
return '\'{}\' 的信息已删除'.format(user['username'])
if __name__ == '__main__':
user_path = os.path.join(os.getcwd(), "storage", "user.json")
gift_path = os.path.join(os.getcwd(), "storage", "gift.json")
print(user_path)
print(gift_path)
base = Base(user_json=user_path, gift_json=gift_path)
# base.write_user(username='Neo', role='admin')
# result = base.change_role(username='Neo', role='normal')
# print(result)
# result = base.change_acitve(username='Neo')
# print(result)
result = base.delete_user(username='Neo')
print(result)
执行结果如下:
PS:别忘了将用于调试的几个函数改回为私有函数哦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)