언어/파이썬

os.environ

AlgoPoolJa 2021. 1. 14. 17:29

환경 변수

 

소프트웨어 개발에서 환경 변수는 일반적으로 운영체제 차원에서 설정해주는 변수를 의미한다. 즉, 파이썬 프로그램 안에서 설정되는 변수가 아닌 외부에서 설정되는 변수들을 얘기한다. 어플리케이션 레벨에서 설정하기가 불가능 하거나 어려운 값들을 환경 변수에 저장하는 경우가 많다.

그 예시로 개발모드와 운영모드를 구분하기 위해서 애플리케이션이 돌아가는 환경 자체를 ENV 등의 이름으로 변수화 해야할 때가 있는데 이는 코드 상에 저장하기가 난해하다. 또한 외부 API와 연동하기 위해 사용하는 접근키나 보안키와 같은 인증 정보는 보안 측면에서 코드상에 저장해서는 안된다.

 

파이썬에서는 개발자들은 실행파일을 실행하기전에 커멘드라인으로 이것들을 주로 미리 세팅을 해놓는다. 또는 이미 os내에서 세팅이 되어있다. 세팅을 끝내면 이 변수들을 파이썬 프로그램 안에서 사용할 수 있게 한다.

 

 

 

환경 변수를 사용하는 이유

환경변수들은 프로그램의 유연성을 위해서 사용된다. 이 경우 사용자들은 프로그램 실행 전에 특정 파라미터를 변화시킬 수 있고 프로그램은 파라미터들을 체크하고 그들의 동작을 동적으로  제어 할수 있다. 

백문이 불여일견으로 어떤 것이 있는지 살펴보자.

 

환경변수들

굉장히 사진이 작지만 확대해도 거의 안깨져서 확인가능한 수준이다. 여기서 보면 PATH부터 시작해서 모든 환경 변수들을 볼 수 있다. 

os 내장 모듈

파이썬에서 작성된 애플리케이션에서는 기본적으로 내장되어있는 os 모듈을 통하여 운영체제의 환경변수 값을 읽어 올 수 있다. 그 중에서 os.environ 에 대해서 집중적으로 알아보도록 하겠다

 

os.environ 속성

운영 체제에 등록되어 있는 모든 환경 변수는 os 모듈의 environ 이라는 속성을 통해서 접근이 가능하다. os.environ 속성은 파이썬 내장 자료 구조인 사전을 사용하듯이 사용할 수 있다. 

예를 들어, 환경변수 HOME 에 저장 되어 있는 값은 다음과 같이 읽어 올 수 있다.