Я работаю над проектом по науке о данных, который имеет много предварительной обработки данных и реализацию нейронной сети и генерирует графики в виде файлов PNG. Проект состоит из почти 30+ скриптов Python. У меня есть набор общих значений, которые мне нужно использовать глобально, почти каждый скрипт.
Итак, я создал файл config.yaml
для хранения значений и файл util.py
для чтения файла yaml
и назначениязначения как глобальные переменные.
часть config.yaml
config:
input_src: "./input_data"
data_output: "./final_output"
tempory_src: "./tmp_files"
neural_network_model_version: "NeuralNet_v1907"
all_store_output: "/all_store"
single_store_output: "/individual"
util.py
with open('config.yaml',encoding="utf-8_sig") as f:
data = yaml.load(f, Loader=yaml.FullLoader)
global input_src
global output_src
global model_version
global all_store_output
global single_store_output
global temp_src
config=data["config"]
input_src=config["input_src"]
output_src=config["data_output"]
model_version = config["neural_network_model_version"]
all_store_output= config["all_store_output"]
single_store_output= config["single_store_output"]
когдаЯ импортирую файл утилит, в котором есть все глобальные переменные.
Я знаю, что иметь большое количество глобальных переменных не очень хорошая практика. Мне нужно знать, какой способ работы лучше всего подходит и рекомендуется.