Как сохранить значение словаря в файле с именем как у словаря ? 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 разных по названию и размерам файла - дампы справочников.
Ответы (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
", т.е. имя переданной переменной.