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.
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', ...
No credit card required