import os from dotenv import load_dotenv # 우선순위: .env.prd > .env.dev > .env if os.path.exists('.env.prd'): print("Read ::: .env.prd") load_dotenv('.env.prd') elif os.path.exists('.env.dev'): print("Read ::: .env.dev") load_dotenv('.env.dev') else: print("Read ::: .env") load_dotenv('.env') # 기본 .env 파일 class GetConfig: def __init__(self): self.db_host = os.getenv('DB_HOST') self.db_user = os.getenv('DB_USER') self.db_pw = os.getenv('DB_PASSWORD') self.db_database = os.getenv('DB_NAME') self.openai_api_key = os.getenv('OPENAI_API_KEY') self.wp_url = os.getenv('WP_URL') self.wp_user = os.getenv('WP_USER') self.wp_api_key = os.getenv('WP_API_KEY') self.wp_post_style = os.getenv('WP_POST_STYLE') def show_config(self): for key, value in self.__dict__.items(): print(f"{key.upper()}: {value}") def get_config_as_dict(self): # 인스턴스 속성을 딕셔너리로 반환 return self.__dict__ if __name__ == "__main__": # 결과 확인 config = GetConfig() config.show_config() # 오랜만에 보다보니 헷갈려서 참고용으로 작성 # class GetConfig: # def __init__(self, name=None): # self.name = name if name is not None else "default_name" # self.host = os.getenv('DB_HOST') # self.user = os.getenv('DB_USER') # self.password = os.getenv('DB_PASSWORD') # self.database = os.getenv('DB_NAME')