Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access environment variable values

I set an environment variable that I want to access in my Python application. How do I get its value?

like image 803
Amit Yadav Avatar asked Feb 05 '11 13:02

Amit Yadav


People also ask

How do I access environment variables?

Do so by pressing the Windows and R key on your keyboard at the same time. Type sysdm. cpl into the input field and hit Enter or press Ok. In the new window that opens, click on the Advanced tab and afterwards on the Environment Variables button in the bottom right of the window.

How do you access an environment variable in Python?

getenv() method is used to extract the value of the environment variable key if it exists. Otherwise, the default value will be returned.

How do I check environment variables in CMD?

To Check if an Environment Variable ExistsSelect Start > All Programs > Accessories > Command Prompt. In the command window that opens, enter echo %VARIABLE%. Replace VARIABLE with the name of the environment variable.


2 Answers

Environment variables are accessed through os.environ

import os print(os.environ['HOME']) 

Or you can see a list of all the environment variables using:

os.environ 

As sometimes you might need to see a complete list!

# using get will return `None` if a key is not present rather than raise a `KeyError` print(os.environ.get('KEY_THAT_MIGHT_EXIST'))  # os.getenv is equivalent, and can also give a default value instead of `None` print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value)) 

The Python default installation location on Windows is C:\Python. If you want to find out while running python you can do:

import sys print(sys.prefix) 
like image 165
Rod Avatar answered Sep 21 '22 23:09

Rod


To check if the key exists (returns True or False)

'HOME' in os.environ 

You can also use get() when printing the key; useful if you want to use a default.

print(os.environ.get('HOME', '/home/username/')) 

where /home/username/ is the default

like image 20
lgriffiths Avatar answered Sep 24 '22 23:09

lgriffiths