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', ...
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