python怎么存储数据_Python:如何在类中存储数据并继承

我对课程很陌生,我已经写了一个班来做熊猫的操作。

@分类方法

,但我不知道如何使用它们。

我的班级目标:

我想写一个权限类。它应该加载/写入一个json文件,并且应该能够添加更多的权限。

编辑:

读了一段时间后,我发现

staticmethod

还有一个

__init__

在初始化期间加载文件的。

class Permission:

data = None

def __init__(self, path):

if Permission.data is None:

self.read_permissions(path)

@staticmethod

def read_permissions(path):

try:

with open(path, 'r') as read_file:

Permission.data = json.load(read_file)

except FileNotFoundError as e:

logging.error(e)

sys.exit(1)

def add_permissions(self, group, level, permissions):

self.data['groups'].append({

'group': group,

'level': level,

'permissions': permissions

})

所以我可以像这样使用这个类:

json_path = 'C:\\data\\test.json'

test_perm = Permission(json_path)

print(test_perm.data)

{'groups': [{'group': 'common', 'permissions': {'select_sample_x': True, 'select_sample_y': True, 'assign_x': False, 'request_y': True}}]}

test_perm.add_permissions('guys', 10, {'can_do_icecream': False, 'can_do_nothing': True})

print(test_perm.data)

{'groups': [{'group': 'pkf_common', 'permissions': {'select_sample_debitor': True, 'select_sample_creditor': True, 'assign_third_party_confirmation': False, 'request_reporting': True}}, {'group': 'guys', 'level': 10, 'permissions': {'can_do_icecream': False, 'can_do_nothing': True}}]}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值