민감한 변수가 있을 때에는 어떻게 해야 할까요? 예를 들어, AWS_SECRET_KEY 같은 것들입니다. 이들을 프로그램의 환경 변수로 불러와서 코드 내에서 노출을 숨기는 방법이 있는데요. python-dotenv를 사용하는 방법을 소개해 드리겠습니다. django라던지 flask는 비슷한 기능을 하는 패키지가 있으니 찾아보시는 것도 도움이 되실 듯 합니다.

 


 먼저, python-dotenv를 설치하겠습니다.

 

 

 dotenv 내부에는 여러 함수들이 있는데요. 이 중, load_dotenv를 보겠습니다.

 

 설명을 보면, Parse a .env file이라고 되어 있어요. .env 파일을 찾은 다음에, 해당 파일 안에 있는 변수들을 environment 변수에 넣습니다. 즉, dotenv.load_dotenv()를 입력하면, 프로그램의 환경 변수에 .env 파일에 있는 변수들을 추가합니다.

 

 

 현재 프로젝트의 구조는 위와 같습니다. main.py가 있는 위치에 .env 파일이 있습니다.

 

 .env 파일에는 ENV_VARIABLE=VALUE의 형식으로 들어가거나, ENV_VARIABLE= 형식으로 들어갑니다. FOO=1 BOO=2가 있는데요. 이들을 적절히 파싱한 다음에, environ에 이런 정보를 넣습니다. 변수 FOO의 값은 1이고, BOO의 값은 2이다.

 

 

 이제 "FOO"와 "BOO"의 환경 변수값을 얻어와 보겠습니다.

 

 1과 2로 잘 나옴을 볼 수 있습니다.