Я разрабатываю программу, для которой мне нужно хранить значения по умолчанию пользователя, и у пользователя также должна быть возможность изменить значения по умолчанию для будущего использования программы.В общем, у меня есть модуль для управления параметрами по умолчанию и другими аспектами программы, который требует, чтобы определенные части были сохранены и впоследствии извлечены.Например, для управления параметрами по умолчанию у меня есть файл params.py
в модуле для управления params.txt
.Файл Python params.py
по существу содержит две функции: (1) get_default_param(param_name)
и (2) set_default_param(param_name)
.
Файл params.txt
содержит следующее:
NDIV: 120
EXT: txt
UNITS: cm/s2
AM: 1.0, 1.0, 1.0, 1.0
*Файл 1012 * содержит:
def get_default_param_values():
default_val = {}
# Get params function
with open("data/defaults/params.csv") as f1:
for line in f1:
split_line = line.split(':')
default_val[split_line[0]] = [x.strip(" ") for x in split_line[1].strip('\n').split(',')]
return default_val
Так что в моей программе main.py
я называю params.py
, который находится в пакете data
внутри папки default
, как
from data.defaults.params import get_default_param_values
default_values = get_default_param_values()
for i in range(0,1000):
#
# use default_values in the program. These values also gets passed down to other functions
#
Если бы они не были изменены, я мог бы легко поместить их в файл Python и импортировать переменную.Что было бы лучше всего сделать, когда нам потребуется изменить его на более позднем этапе пользователем в front-end?
И еще одна проблема заключается в том, что некоторые значения для ключей являются числами.Как автоматически определить целые или десятичные числа и преобразовать строку в int / float?