
#json 处理函数 def get_json_data(data,query_type,query_name): before_json_txt = data.text json_mid = json.loads(before_json_txt) result = json_mid['data']['result'] if query_type == 'usage': for i in range(len(result)):#取最大值 list = [] list.append(round(float(result[i]['value'][1]),4)) max_result = max(list) return max_result elif query_type == 'qps':#为 qps 时只保留整数且匹配 cmd 名 for i in result:#取最大值 if i["metric"]["cmd"]== query_name: max_result = round(i['value'][1]) return max_result 请问我该怎么样才能让这个函数能根据usage和qps的情况,并且返回值都为max_result呢?
1 lzdhlsc 2021-11-02 04:38:46 +08:00 如果没理解错的话,这段代码逻辑上好像没什么问题。只需要在 `if ... elif ...` 后面加一个 `else` 然后 `raise` exception 来处理 `query_type` 其他的情况就好了。 |
2 Dragonish3600 2021-11-02 08:29:35 +08:00 代码看上去没大问题 其实可以把 2 个 return 放到 if elif 外面 |
3 harryhao 2021-11-02 09:55:12 +08:00 在函数开头声明 max_result 变量,比如 max_result = None |