-
python - python-dotenv (pydotenv) 사용하기.카테고리 없음 2022. 10. 14. 22:05반응형
Dotenv 사용 목적
- SECRET KEY같은 민감한 정보들, 혹은 환경에 따라 달라져야하는 경우에 .env파일을 이용하여 해당 정보들을 입력하기 위해 사용.
사용방법
(기본 사용법 생략: https://pypi.org/project/python-dotenv/ 참고.)
질문과 답변
Q. .env가 현재 directory에 존재하지 않으면 어떻게 하는가?
A. 부모루트를 찾아가며 .env를 찾는다.
[부가 설명]
https://intrepidgeeks.com/tutorial/use-env-file-of-environment-variables-in-python-program
번역도 제대로 되어있지 않아, 직접 코드를 확인.
> 함수 load_dotenv()함수의 구현 내용.
dotenv의 path를 정의해야 한다는 것을 확인할 수 있음.
>> find_dotenv()함수의 구현 내용
filename의 default값은 .env이다.
현재 파일의 path를 받아오고 _walk_to_root(path)의 반환 값들을 차례로 dirname으로 받아오며 {dirname}/.env가 존재하는 파일인지 확인하고 존재하면 {dirname}/.env 파일 경로 자체를 반환.
>>> _walk_to_root()함수의 구현 내용
이 함수는 현재 경로에서, 최상의 경로가 나올 때까지, 하나씩 상위 directory를 찾아가고, 해당 directory를 반환한다.
결국, /home/test/dev/devTest/가 현재 경로라면 이 함수의 반환값은 iterarable자료형으로
/home/test/dev/devTest
/home/test/dev
/home/test
/home
/
이렇게 다섯가지의 경로를 반환한다.
------------------------------------------------------------------------------------
결론
최상위 경로까지 타고올라가며, .env를 찾는다.
반응형