Programming & Tip/Python
Python Tip || 환경변수 리스트를 알고싶을 때 (Let's keep it simple, 딕셔너리 필터링 검색 포함)
Awesomist
2023. 3. 29. 16:58
728x90
os.environ.get("SLACK_BOT_TOKEN")
이렇게 명확하게 알고 있을때는 바로 변수에 바로 값을 담아서 활용할 수 있지만
이 토큰 저 토큰 이 path 저 path 가끔 정확한 풀네임이 아리까리 할 때가 있다. 그럴 때 주로 사용하는 코드
코딩하다가 파이썬 내에서 내 시스템 내 퀵하게 시스템 환경변수 리스트를 알고싶을 때 , 내가 쓰는 쿼리 (필터)
(= 제어판으로 가서 검색해서 일일이 찾기 싫을 때)
1) 원하는 딱 하나를 찾을 때 (ex) JAVA_HOME path 찾기
import os
env_var = os.environ
print("User's Environment variable:")
x = dict(env_var)
for key, value in x.items():
if key == "JAVA_HOME": #JAVA_HOME을 예시로 검색
print(f'{key} : \n\t {value}')
2) 관련된 여러가지 컬럼을 다 찾을 때 (ex) chocolatey 관련한 환경변수 모두 필터링해서 검색
- 딕셔너리 내 key값 필터링으로 검색하고 싶을 때 ( in 함수 사용)
→ filter나 람다를 활용할 수도 있지만 목적은 빠른 확인이므로
모든 것은 고민할 시간에 최대한 퀵하게 코딩하는 방법이 좋은 법
import os
env_var = os.environ
print("User's Environment variable:")
x = dict(env_var)
for key, value in x.items():
#chocolatey 관련한 환경변수만 필터링해서 검색
if "CHOCOLATEY" in key: #if "chocolatey".upper() in key:
print(f'{key} : \n\t {value}')
(※주의) 환경변수 딕셔너리 키는 대문자로 저장되어 있고 in은 대소문자를 구분하지 않으므로
소문자 작성시는 아래 두 가지 형태 중 하나로 작성한다.
(a) if문에서 강제 UPPERCASE
if "chocolatey".upper() in key:
print(f'{key} : \n\t {value}')
(b) 변수 정의 후 활용
sWord = "chocolatey".upper()
if sWord in key:
print(f'{key} : \n\t {value}')
3) 파이썬 내에서 내 시스템 내 퀵하게 시스템 환경변수 리스트 전체를 알고 싶을 때
import os
env_var = os.environ
print("User's Environment variable:")
x = dict(env_var)
for key, value in x.items():
if key == "JAVA_HOME":
print(f'{key} : \n\t {value}')
(+ 딕셔너리 출력관련 추가)
반응형