[Python] 환경 변수 읽기 (os.environ)
July 09, 2024
파이썬에서 모든 시스템 환경 변수를 읽거나, 특정 환경변수를 가져오는 방법에 대해서 알아보겠습니다.
1. 모든 환경 변수 읽기
os.environ.items()
는 모든 환경 변수 정보를 갖고 있는 객체를 리턴하며, for문으로 key와 value를 순회할 수 있습니다.
- key는 환경 변수 이름, value는 값
아래와 같이 모든 환경 변수 값을 출력할 수 있습니다.
import os
# 모든 환경 변수 읽기
for key, value in os.environ.items():
print(f"{key}: {value}")
Output:
LC_MEASUREMENT: en_US.UTF-8
XAUTHORITY: /run/user/1000/gdm/Xauthority
INVOCATION_ID: 7191b14a678548fab8e07405ea587c31
XMODIFIERS: @im=nimf
LC_TELEPHONE: en_US.UTF-8
XDG_DATA_DIRS: /usr/share/ubuntu:/home/mjs/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
GDMSESSION: ubuntu
MANDATORY_PATH: /usr/share/gconf/ubuntu.mandatory.path
LC_TIME: en_US.UTF-8
....
2. 특정 환경 변수 읽기
아래와 같이 get 함수로 특정 환경 변수의 값을 읽을 수 있습니다.
MY_VARIABLE
대신에 찾으려는 환경 변수를 입력하면 됩니다.- 찾으려는 환경 변수가 없는 경우, 기본값이 리턴됩니다.
import os
# 환경 변수가 없는 경우 기본값 사용
value = os.environ.get('MY_VARIABLE', '기본값')
print(f"MY_VARIABLE의 값: {value}")
실제 환경 변수를 사용하여 아래와 같이 호출하고 결과를 확인해볼 수 있습니다.
import os
value = os.environ.get('LC_TELEPHONE', 'ko_kr')
print(value)
Output:
en_US.UTF-8
기본값 미설정
os.environ.get(key)
처럼 기본 값을 사용하지 않을 수 있습니다. 대신, 찾으려는 환경 변수가 없는 경우 None
이 리턴됩니다.
import os
# 특정 환경 변수 읽기
value = os.environ.get('MY_VARIABLE')
if value is not None:
print(f"MY_VARIABLE의 값: {value}")
else:
print("MY_VARIABLE가 설정되지 않았습니다.")