Shell Environment Variables
Shell variables, sometimes known as environment
variables, are made available to Python scripts as os.environ, a Python dictionary-like object
with one entry per variable setting in the shell. Shell variables live
outside the Python system; they are often set at your system prompt or
within startup files and typically serve as system-wide configuration
inputs to programs.
In fact, by now you should be familiar with a prime example: the
PYTHONPATH module search path
setting is a shell variable used by Python to import modules. By
setting it once in your system startup files, its value is available
every time a Python program is run. Shell variables can also be set by
programs to serve as inputs to other programs in an application;
because their values are normally inherited by spawned programs, they
can be used as a simple form of interprocess communication.
Fetching Shell Variables
In Python, the surrounding shell environment becomes a simple
preset object, not special syntax. Indexing os.environ by the desired shell variable’s
name string (e.g., os.environ['USER']) is the moral
equivalent of adding a dollar sign before a variable name in most
Unix shells (e.g., $USER), using
surrounding percent signs on DOS (%USER%), and calling getenv("USER") in a C program. Let’s start
up an interactive session to experiment:
>>>import os>>>os.environ.keys( )['WINBOOTDIR', 'PATH', 'USER', 'PP2HOME', 'CMDLINE', 'PYTHONPATH', 'BL*ER', 'X', 'TEMP', 'COMSPEC', 'PROMPT', ...