I have a configuration file in Python. It was suggested to me to use classes. So I have a lot of constants like this:
class Paths:
class Sources:
strategylab = 'src/strategylab/'
class Projects:
home = 'prj/'
os.makedirs(home, exist_ok=True)
scenarios_outputs = 'outputs/'
scenarios = 'scenarios/'
datasets = 'datasets/'
# to be configured dinamically
project_path = None
project_single_scenario_path = None
project_single_scenario_output_path = None
project_outputs_path = None
project_name = None
project_datasets_path = None
class Workspace:
temp = 'temp/'
ftp = 'ftp/'
# to be configured dinamically
home = None
temp_location = None
ftp_location = None
class Template:
home = 'model/'
# to be configured dinamically
single_project_template_location = None
What advantages should I have if I transform them in ENUM? Can I still add values dinamycally?
EDIT: the associated question DOESN'T ANSWER MY DOUBTS, because I am searching not for general use cases, but for ADVANTAGES OVER USING SIMPLE CLASSES.