파이썬에서 모든 시스템 환경 변수를 읽거나, 특정 환경변수를 가져오는 방법에 대해서 알아보겠습니다.

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가 설정되지 않았습니다.")