From 3d2c703cac3c839ea10ed43e4fa023e2abebc27a Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 14 Mar 2025 16:02:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20base=20=E6=B7=BB=E5=8A=A0update=5Fdict?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/utils/tools.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/utils/tools.py b/apps/utils/tools.py index a983b7c..a95e729 100755 --- a/apps/utils/tools.py +++ b/apps/utils/tools.py @@ -9,6 +9,7 @@ import requests from io import BytesIO from rest_framework.serializers import ValidationError import ast +from typing import Dict class CodeAnalyzer(ast.NodeVisitor): def __init__(self): @@ -322,4 +323,17 @@ def build_tree_from_list(data, parent_field="parent"): else: tree.append(item) - return tree \ No newline at end of file + return tree + +def convert_ordereddict(item): + """递归地将 OrderedDict 转换为普通字典""" + if isinstance(item, list): + return [convert_ordereddict(i) for i in item] # 递归处理列表中的每个元素 + elif isinstance(item, dict): + # 如果是 OrderedDict 或普通字典,遍历所有键值对进行转换 + return {key: convert_ordereddict(value) for key, value in item.items()} + return item + +def update_dict(d, update_data:Dict) -> Dict: + d.update(update_data) + return d