from dotenv import load_dotenv, find_dotenv import os class CreateEnvironmentFile: def __init__(self): self.path = find_dotenv() def create_file(self, environment_vars:dict[str], path:str="./.env"): if environment_vars: data = self.convert_dict_to_list(environment_vars) with open(path, 'w') as f: f.writelines(data) def convert_dict_to_list(self, data_dict:dict): data = [] for k, v in data_dict.items(): data.append(f"{k}={v}\n") return data @classmethod def load_dotenv(cls, environment_vars:dict[str]=None): new_class = cls() if os.path.exists(new_class.path): return load_dotenv(new_class.path) else: return new_class.create_file(environment_vars)