Python как загрузить переменные з файла и убрать переменные в файл
в приложении есть класс с переменными global_variables в нем около 50 важных переменных, что-то вроде настроек программы, как можно эти переменные забирать из JSON файла и убирать их туда?
Чтобы в момент работы программы можно было поменять что-то в JSON файле, и из функции обновить текущие переменные, и соответственно убирать в файл текущее настройки.
Я нашел решение через for и длинный список присваиваний, но может быть есть решение в пару строк кода?
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
import json
class global_variable:
work_dir = ''
limit_time = 600
cash_min_time = 300
properties = {
item: getattr(global_variable, item)
for item in dir(global_variable) if not item.startswith('__')
}
with open('file.json', 'w', encoding='utf-8') as file:
json.dump(properties, file, indent=2)
# -- Сохранили в файл
file.json
{
"cash_min_time": 300,
"limit_time": 600,
"work_dir": ""
}
Читаем
# Мы получили класс с такими значениями
class global_variable:
work_dir = ''
limit_time = 400
cash_min_time = 100
# Теперь Мы читаем значения из файла
with open('file.json', 'r', encoding='utf-8') as file:
data = json.load(file)
# Присваиваем новые значения
for key, value in data.items():
setattr(global_variable, key, value)
# Проверяем
print(
global_variable.limit_time,
global_variable.cash_min_time,
sep='\n'
)
# 600
# 300