Shell variables, sometimes known as environment variables, are made
available to Python scripts as
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 systemwide 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.
In Python, the surrounding shell environment becomes a simple preset
object, not special syntax. Indexing
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
$USER), using surrounding percent signs on
%USER%), and calling
getenv("USER") in a C program. Let’s start
up an interactive session to experiment:
os.environ.keys( )['WINBOOTDIR', 'PATH', 'USER', 'PP2HOME', 'CMDLINE', 'PYTHONPATH', 'BLASTER', 'X', 'TEMP', 'COMSPEC', 'PROMPT', ...