목차
- os.getenv() 메서드란?
- getenv 함수원형 및 인자 및 반환값 설명
- 환경 변수 읽기 예제
- 기본값 설정하여 환경 변수 읽기 예제
- 환경 변수 설정하기 예제
- 환경 변수 읽을 때 주의사항
1. os.getenv() 메서드란?
os.getenv()
메서드는 파이썬의 os
모듈에서 제공되는 함수로, 환경 변수의 값을 읽을 수 있습니다. 환경 변수는 운영 체제에서 프로세스가 실행될 때 시스템의 설정 값을 저장하는데 사용되며, 프로그램에서 해당 값을 읽어와 활용할 수 있습니다.
2. getenv 함수원형 및 인자 및 반환값 설명
os.getenv(var_name[, default])
var_name
: 읽고자 하는 환경 변수의 이름을 지정합니다.default
(선택적): 지정된 환경 변수가 없을 때 반환할 기본값을 지정합니다.- 반환값: 지정된 환경 변수의 값이 있으면 해당 값을, 없으면 기본값을 반환합니다.
3. 환경 변수 읽기 예제
다음은 os.getenv()
메서드를 사용하여 환경 변수 값을 읽는 간단한 예제입니다.
import os
# 환경 변수 'USERNAME'의 값 읽기
username = os.getenv('USERNAME')
print('현재 사용자 이름:', username)
4. 기본값 설정하여 환경 변수 읽기 예제
만약 지정한 환경 변수가 없을 경우 기본값을 설정하여 읽는 예제입니다.
import os
# 환경 변수 'LANGUAGE'의 값 읽기, 없을 경우 기본값 'en' 설정
language = os.getenv('LANGUAGE', 'en')
print('사용자 언어 설정:', language)
5. 환경 변수 설정하기 예제
환경 변수를 설정하는 예제입니다. os.putenv()
메서드를 사용하여 설정할 수 있습니다.
import os
# 환경 변수 'CUSTOM_VAR' 설정
os.putenv('CUSTOM_VAR', 'custom_value')
# 설정한 환경 변수 읽기
custom_var = os.getenv('CUSTOM_VAR')
print('CUSTOM_VAR 환경 변수 값:', custom_var)
하지만, 위의 putenv는 위 예제가 실행되는 파이썬 프로세스에서만 환경변수가 바뀌기 때문에 실제 ipython의 프로세스 입장에서는 환경변수가 바뀌질 않습니다.
바로 부모 프로세스에서 영향을 주려면 os.environ을 사용하여 환경변수를 조작해야합니다.
import os
# os.environ 내에서 환경 변수에 새 값을 설정
os.environ['CUSTOM_VAR'] = 'custom_value'
# os.getenv를 사용하여 업데이트된 값을 가져옴
custom_var = os.getenv('CUSTOM_VAR')
print('CUSTOM_VAR 환경 변수 값:', custom_var)
6. 환경 변수 읽을 때 주의사항
환경 변수를 읽을 때, 운영 체제에 따라 대소문자를 구분할 수 있으므로 주의해야 합니다. Windows는 대소문자를 구분하지 않지만, Linux와 macOS는 대소문자를 구분합니다. 따라서 환경 변수 이름을 정확히 입력하는 것이 중요합니다.
아래예제는 리눅스
import os
# Windows: 대소문자를 구분하지 않음
print(os.getenv('USERNAME')) # 'john'
# Linux 또는 macOS: 대소문자를 구분함
print(os.getenv('username')) # None
반응형