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}')

 

 

 

(+ 딕셔너리 출력관련 추가)

딕셔너리니까 print(x)하면 파국되는 점 주의할 것

 

 

 

반응형