我有以下结构的文件:
{
"function": "ComAl_Set_nad_crtl_xcall_state",
"timeStamp": 1488500329974,
"Param1": "SIG_NAD_XCALL_ATTEMPTS_COUNT",
"Value1": "2"
}
这些JSON文件是由我的程序中的一些函数创建的。但是我在从这些文件中获取最后一个值(Value 1)时遇到了问题。目前,这是我用来从文件中获取数据的代码:
def get_json_from_stub(self, file_name):
def jsonize_stub(raw_data):
end = raw_data.rfind(",")
parsed_data = "[" + raw_data[:end] + "]"
return json.loads(parsed_data.replace("\00", ""))
command = "'cat " + self.stub_path + file_name + "'"
content = self.send_ssh_command(command)
json_stub = jsonize_stub(content)
return json_stub
这是获取Value 1的代码:
@app.route('/stub/comal/getSignal/ComAl_Set_nad_crtl_xcall_requests', methods=['GET'])
def get_nad_crtl_xcall_requests():
file_name = "ComAl_Set_nad_crtl_xcall_requests.out"
json_stub = self.stubManager.get_json_from_stub(file_name)
return MapEcallRequests().tech_to_business(json_stub[-1]["Value1"])
更具体地说,我想用另一种获取Value 1的方法来替换json_stub[-1][“Value 1”]。问题是有时这些文件不会被写入,所以我想以不同的方式获取Value 1,并在Value 1不存在的情况下引发错误消息,只是为了避免我的应用程序在值不存在的情况下崩溃。有没有办法做到这一点?谢谢。
2条答案
按热度按时间wrrgggsh1#
您可以检查密钥是否存在(也可以检查长度是否正确):
dvtswwa32#
如果我理解正确的话,您希望从
dict()
中获取最后一个键和值