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 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.
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', 'BLASTER', 'X', 'TEMP', 'COMSPEC', 'PROMPT', ...
Get Programming Python, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.