mirror of https://github.com/InternLM/InternLM
30 lines
859 B
Python
30 lines
859 B
Python
![]() |
#!/usr/bin/env python
|
||
|
# -*- encoding: utf-8 -*-
|
||
|
|
||
|
|
||
|
def merge_dicts(dict_a: dict, dict_b: dict):
|
||
|
for key in dict_b.keys():
|
||
|
if isinstance(dict_b[key], dict):
|
||
|
dict_b[key] = {**dict_a[key], **dict_b[key]}
|
||
|
merge_dicts(dict_a[key], dict_b[key])
|
||
|
dict_c = {**dict_a, **dict_b}
|
||
|
return dict_c
|
||
|
|
||
|
|
||
|
def format_dict_to_py_string(data: dict, indent=0, is_nested=False):
|
||
|
result = ""
|
||
|
for key, value in data.items():
|
||
|
if isinstance(value, dict):
|
||
|
result += f"{' ' * indent}{key} = dict(\n"
|
||
|
result += format_dict_to_py_string(value, indent + 4, is_nested=True)
|
||
|
result += f"{' ' * indent})"
|
||
|
else:
|
||
|
result += f"{' ' * indent}{key} = {repr(value)}"
|
||
|
if is_nested:
|
||
|
result += ","
|
||
|
result += "\n"
|
||
|
result = f"""\
|
||
|
{result}
|
||
|
"""
|
||
|
return result
|