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', ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access