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.getcwdgives access to the directory from which a script is started, and many file tools use its value implicitly.- Command-line arguments
sys.argvgives access to words typed on the command line used to start the program that serve as script inputs.- Shell variables
os.environprovides an interface to names assigned in the enclosing shell (or a parent program) and passed in to the script.- Standard streams
sys.stdin,stdout, andstderrexport 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.