2.6 Script Execution Context
Python scripts don't run in a vacuum. Depending on platforms
and startup procedures, Python programs may have all sorts of
enclosing context -- information
automatically passed-in to the program by the operating system when
the program starts up. For instance, scripts have access to the
following sorts of system-level inputs and interfaces:
- Current working directory
os.getcwd gives access to the directory from which
a script is started, and many file tools use its value implicitly.
- Command-line arguments
sys.argv gives access to words typed on the
command line used to start the program that serve as script inputs.
- Shell variables
os.environ provides an interface to names assigned
in the enclosing shell (or a parent program) and passed in to the
- Standard streams
sys.stdin, stdout, and
stderr export the three input/output streams that
are at the heart of command-line shell tools.
Such tools can serve as inputs to scripts, configuration parameters,
and so on. In the next few sections, we will explore these context
tools -- both their Python interfaces and their typical roles.