将Python对象属性值保存和检索到文件
我需要做两件事 首先,获取将Python对象属性值保存和检索到文件,python,json,dictionary,file-handling,Python,Json,Dictionary,File Handling,我需要做两件事 首先,获取请求对象并保存对象属性值 作为某些已知键的值添加到文件。此文件需要可编辑 保存后,即用户可以修改键的值(因此我使用 json格式)。这是在函数中处理的 将认证参数保存到文件() 其次,以我可以检索的格式获取文件内容 使用这些键创建值。这是在函数中处理的 从\u文件获取\u auth\u参数 问题: 有没有更像蟒蛇的方式来实现这两件事 代码中有没有我忽略的潜在问题 我必须注意的任何错误情况 有一些事情需要注意,是的: i) 当您的请求由于某种原因为None时,您正在将一个
请求
对象并保存对象属性值
作为某些已知键的值添加到文件。此文件需要可编辑
保存后,即用户可以修改键的值(因此我使用
json格式)。这是在函数中处理的
将认证参数保存到文件()
其次,以我可以检索的格式获取文件内容
使用这些键创建值。这是在函数中处理的
从\u文件获取\u auth\u参数
问题:
有一些事情需要注意,是的: i) 当您的
请求
由于某种原因为None
时,您正在将一个空的JSON对象保存到文件中。可能您只想在请求
不是无
时写入文件
auth_params = {}
if request is not None:
auth_params['token'] = request.token
auth_params['auth_url'] = request.auth_url
auth_params['server_cert'] = request.server_cert
auth_params['local_key'] = request.local_key
auth_params['local_cert'] = request.local_cert
auth_params['timeout'] = request.timeout_secs
with open(SUCCESS_AUTH_PARAM_FILE, 'w') as fout:
json.dump(auth_params, fout, indent=4)
ii)为什么不一次性创建dict
auth_params = {
'token': request.token,
'auth_url': request.auth_url,
'server_cert': request.server_cert,
'local_key': request.local_key,
'local_cert': request.local_cert,
'timeout': request.timeout,
}
iii)确保此文件位于具有安全权限的安全位置。这是敏感数据,就像任何与身份验证相关的数据一样
iv)每次调用save_auth_params_to_file
时,您都会覆盖文件。也许您的意思是将JSON附加到文件中,而不是覆盖?如果是这样的话:
with open(SUCCESS_AUTH_PARAM_FILE, 'a') as fout:
with open(SUCCESS_AUTH_PARAM_FILE, 'a') as fout: