Рубрики
Без рубрики

Python Set Переменная среды

Python Set Переменная окружающей среды, модуль Python OS Словарь окружающей среды, Обновление переменной среды Python, Python Получить значение переменной среды в коде

Автор оригинала: Pankaj Kumar.

Мы можем установить переменную среды в Python, используя ОС модуль Отказ Модуль Python OS окружающая среда Работает как Словарь Это содержит переменные среды, доступные для программы в этот момент.

Печать текущих переменных среды

Мы можем распечатать переменную OS.environ, чтобы узнать о существующих переменных средах, которые доступны для программы.

import os

# current environment variables
print(os.environ)

Выход:

environ({'PATH': '/Library/PostgreSQL/10/bin:/Users/pankaj/Downloads/mongodb/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Users/pankaj/Downloads/apache-maven-3.5.3/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', 'COMMAND_MODE': 'unix2003', 'MAVEN_OPTS': '-Xmx2048m -XX:MaxPermSize=128m', 'VERSIONER_PYTHON_VERSION': '2.7', 'LOGNAME': 'pankaj', 'XPC_SERVICE_NAME': 'com.apple.xpc.launchd.oneshot.0x10000003.pycharm', 'PWD': '/Users/pankaj/Documents/github/journaldev/Python-3/basic_examples', 'PYCHARM_HOSTED': '1', 'PYTHONPATH': '/Users/pankaj/Documents/github/journaldev/Python-3', 'SHELL': '/bin/zsh', 'PAGER': 'less', 'LSCOLORS': 'Gxfxcxdxbxegedabagacad', 'PYTHONIOENCODING': 'UTF-8', 'SECURITYSESSIONID': '186a8', 'OLDPWD': '/Applications/PyCharm CE.app/Contents/bin', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'USER': 'pankaj', 'ZSH': '/Users/pankaj/.oh-my-zsh', 'TMPDIR': '/var/folders/1t/sx2jbcl534z88byy78_36ykr0000gn/T/', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.1o59WVsq9I/Listeners', 'XPC_FLAGS': '0x0', 'PYTHONUNBUFFERED': '1', 'M2_HOME': '/Users/pankaj/Downloads/apache-maven-3.5.3', '__CF_USER_TEXT_ENCODING': '0x1F5:0x0:0x0', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.U1NEZUKVjH/Render', 'LESS': '-R', 'LC_CTYPE': 'UTF-8', 'HOME': '/Users/pankaj', '__PYVENV_LAUNCHER__': '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7'})

Проверьте, существует ли переменная среды или нет?

Мы можем проверить, существует ли переменная среды или не используя в утверждение.

if 'HOME' in os.environ:
    print('HOME environment variable is already defined. Value =', os.environ['HOME'])
else:
    print('HOME environment variable is not defined.')

Выход:

HOME environment variable is already defined. Value = /Users/pankaj

Изменение значения переменного окружения может иметь серьезные последствия для выполнения программы. Следовательно, целесообразно сначала проверять, существует ли переменная среды или нет. Тогда это зависит от вас, хотите ли вы изменять значение или нет. Вы всегда можете определить новую переменную среды и использовать ее в вашей программе.

Python Set Переменная среды

Мы можем установить переменную среды, как мы устанавливаем значения в словаре.

os.environ['MYSQL_VERSION'] = '5.7.18'

Обратите внимание, что пара вариабельной пары ключа среды должна быть строкой, в противном случае ошибка будет поднята.

>>> os.environ['Data'] = 123
Traceback (most recent call last):
  File "", line 1, in 
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/os.py", line 683, in __setitem__
    value = self.encodevalue(value)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/os.py", line 753, in encode
    raise TypeError("str expected, not %s" % type(value).__name__)
TypeError: str expected, not int
>>> 

Python Read Read Erunds Viracle

Давайте посмотрим, как прочитать переменную среды, которую мы установили в приведенном выше фрагменте кода.

print('MySQL Version =', os.environ['MYSQL_VERSION'])

Выход: Mysql.7.18.

Но правильный ли правильный способ получить значение переменной окружающей среды? Посмотрим, что произойдет, когда переменная среды нет.

>>> print(os.environ['DATA'])
Traceback (most recent call last):
  File "", line 1, in 
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/os.py", line 678, in __getitem__
    raise KeyError(key) from None
KeyError: 'DATA'
>>>

Лучший способ использовать Получить () Функция переменной окружающей среды. Если переменная среды нет, то она вернет Нет Отказ

>>> print(os.environ.get('DATA'))
None

Мы также можем указать значение по умолчанию для возврата, если переменная среды нет.

>>> print(os.environ.get('DATA', 'TXT'))
TXT

Ссылка: os.environ.