달나라 노트

Python os : os.environ (현재 컴퓨터의 환경변수 출력) 본문

Python/Python os

Python os : os.environ (현재 컴퓨터의 환경변수 출력)

CosmosProject 2023. 7. 7. 01:19
728x90
반응형

 

 

 

os library의 environ은 현재 컴퓨터의 모든 환경 변수를 출력해줍니다.

 

import os

print(os.environ)


-- Reuslt
environ({'PATH': '/Users/test/anaconda3/envs/project_test/bin:/Users/test/anaconda3/condabin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin', 'CONDA_DEFAULT_ENV': 'project_test', 'CONDA_EXE': '/Users/test/anaconda3/bin/conda', 'CONDA_PYTHON_EXE': '/Users/test/anaconda3/bin/python', 'COMMAND_MODE': 'unix2003', 'CONDA_PREFIX': '/Users/test/anaconda3/envs/project_test', '_CE_M': '', 'LOGNAME': 'test', 'XPC_SERVICE_NAME': 'application.com.jetbrains.pycharm.ce.53841.54587', 'PWD': '/Users/test/Documents/code/project_test', 'PYCHARM_HOSTED': '1', 'CONDA_SHLVL': '2', '__CFBundleIdentifier': 'com.jetbrains.pycharm.ce', 'PYTHONPATH': '/Users/test/Documents/code/project_test', 'SHELL': '/bin/zsh', 'PYTHONIOENCODING': 'UTF-8', 'OLDPWD': '/', 'USER': 'test', 'TMPDIR': '/var/folders/82/c8bmtq490q3cmy13gncrcklr0000gn/T/', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.GHdKCL83ul/Listeners', '_CE_CONDA': '', 'XPC_FLAGS': '0x0', 'PYTHONUNBUFFERED': '1', '__CF_USER_TEXT_ENCODING': '0x1F5:0x3:0x33', 'CONDA_PROMPT_MODIFIER': '(project_test) ', 'LC_CTYPE': 'ko_KR.UTF-8', 'HOME': '/Users/test'})

 

사용법은 간단합니다. 위처럼 그냥 os.environ을 출력하면 됩니다.

마치 dictionary같은 형태로 return되며, 실제 사용할 때에도 dictionary처럼 사용하면 됩니다.

 

근데 사실 위처럼 보면 되게 보기도 어렵고 사용하기도 어렵죠.

 

 

 

import os

dict_environ = dict(os.environ)
print(dict_environ)


-- Result
{'PATH': '/Users/test/anaconda3/envs/project_test/bin:/Users/test/anaconda3/condabin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin', 'CONDA_DEFAULT_ENV': 'project_test', 'CONDA_EXE': '/Users/test/anaconda3/bin/conda', 'CONDA_PYTHON_EXE': '/Users/test/anaconda3/bin/python', 'COMMAND_MODE': 'unix2003', 'CONDA_PREFIX': '/Users/test/anaconda3/envs/project_test', '_CE_M': '', 'LOGNAME': 'test', 'XPC_SERVICE_NAME': 'application.com.jetbrains.pycharm.ce.53841.54587', 'PWD': '/Users/test/Documents/code/project_test', 'PYCHARM_HOSTED': '1', 'CONDA_SHLVL': '2', '__CFBundleIdentifier': 'com.jetbrains.pycharm.ce', 'PYTHONPATH': '/Users/test/Documents/code/project_test', 'SHELL': '/bin/zsh', 'PYTHONIOENCODING': 'UTF-8', 'OLDPWD': '/', 'USER': 'test', 'TMPDIR': '/var/folders/82/c8bmtq490q3cmy13gncrcklr0000gn/T/', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.GHdKCL83ul/Listeners', '_CE_CONDA': '', 'XPC_FLAGS': '0x0', 'PYTHONUNBUFFERED': '1', '__CF_USER_TEXT_ENCODING': '0x1F5:0x3:0x33', 'CONDA_PROMPT_MODIFIER': '(project_test) ', 'LC_CTYPE': 'ko_KR.UTF-8', 'HOME': '/Users/test'}

 

그럴 땐 os.environ의 결과를 dict() method를 이용하여 dictionary로 바꿔주면 사용하기 쉽습니다.

 

 

 

 

 

import os

dict_environ = dict(os.environ)

for k, v in dict_environ.items():
    print('{key} == {value}'.format(key=k, value=v))


-- Result
PATH == /Users/test/anaconda3/envs/project_test/bin:/Users/test/anaconda3/condabin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
CONDA_DEFAULT_ENV == project_test
CONDA_EXE == /Users/test/anaconda3/bin/conda
CONDA_PYTHON_EXE == /Users/test/anaconda3/bin/python
COMMAND_MODE == unix2003
CONDA_PREFIX == /Users/test/anaconda3/envs/project_test
_CE_M == 
LOGNAME == test
XPC_SERVICE_NAME == application.com.jetbrains.pycharm.ce.53841.54587
PWD == /Users/test/Documents/code/project_test
PYCHARM_HOSTED == 1
CONDA_SHLVL == 2
__CFBundleIdentifier == com.jetbrains.pycharm.ce
PYTHONPATH == /Users/test/Documents/code/project_test
SHELL == /bin/zsh
PYTHONIOENCODING == UTF-8
OLDPWD == /
USER == test
TMPDIR == /var/folders/82/c8bmtq490q3cmy13gncrcklr0000gn/T/
SSH_AUTH_SOCK == /private/tmp/com.apple.launchd.GHdKCL83ul/Listeners
_CE_CONDA == 
XPC_FLAGS == 0x0
PYTHONUNBUFFERED == 1
__CF_USER_TEXT_ENCODING == 0x1F5:0x3:0x33
CONDA_PROMPT_MODIFIER == (project_test) 
LC_CTYPE == ko_KR.UTF-8
HOME == /Users/test

for loop를 이용해서 os.environ의 결과를 좀 더 보기 좋게 출력해 보았습니다.

이런식으로 현재 컴퓨터에 적용된 환경 변수를 얻을 수 있습니다.

 

 

 

 

 

 

728x90
반응형
Comments