Как сохранить значение словаря в файле с именем как у словаря ? Python

Хочу сохранить в файл содержимое словарей. Если использовать функцию как на примере, то как мне из передаваемого параметра (содержимое словаря) получить имя параметра для создания такого же файла ?

def save_dict_2_file(dict):
    with open("my_dict",'w') as f: # здесь нужно указать имя файла "my_dict"
        pprint(dict, f) 

my_dict = {'A':[1,2,3,4,5]}
save_dict_2_file(my_dict)

Решение - через EVAL

 def save_dict_2_file(dict_name): 
        with open(dict_name,'w') as f:
            pprint(eval(dict_name), f)


my_dict = {'A':[1,2,3,4,5]}
save_dict_2_file('my_dict')

Картинка- сформированы 3 разных по названию и размерам файла - дампы справочников. Картинка- сформированы 3 разных по названию и размерам файла - дампы справочников.


Ответы (1 шт):

Автор решения: Эникейщик
def save_dict_2_file(dict):
    name = [k for k, v in globals().items() if v == dict][0] 

После выполнения

my_dict33 = {'A':[1,2,3,4,5]}

save_dict_2_file(my_dict33)

в name будет строка "my_dict33", т.е. имя переданной переменной.

→ Ссылка