Andromeda
Note

CLI Orchestration (Python)

Definition

The process of wrapping Python scripts in system-level launchers (Batch/Bash files) and utilizing command-line parameters to integrate automation into the user’s desktop environment.

Why It Matters

It promotes scripts from isolated tools to integrated system utilities, enabling the creation of powerful, composable automation workflows in the desktop environment.

Core Concepts

  • Command-Line Arguments (sys.argv): A list in the sys module containing the strings passed to the script at launch. sys.argv[0] is the script name; sys.argv[1:] are the arguments.
  • Shebang Line (#!): The first line of a script indicating which interpreter to use (e.g., #! python3 or #!/usr/bin/env python3).
  • Launcher Scripts:
    • Windows (.bat): @py.exe C:\path\to\script.py %* (the %* forwards all arguments).
    • Linux/macOS (.sh): python3 /path/to/script.py "$@" (the "$@" forwards arguments).
    • How to read: “The symbol dollar at.”
    • Meaning / when to use: Expands to all positional arguments passed to the shell script (quoted to preserve spaces); mirrors Windows %* for forwarding arbitrary CLI args to the underlying Python script.
  • The PATH Variable: A system environment variable containing directories where the OS looks for executables. Adding your script’s folder to PATH allows you to run it from any terminal window or the “Run” dialog (Win+R).
import sys

# Usage: python script.py some_argument
if len(sys.argv) > 1:
    print(f"Executing with argument: {sys.argv[1]}")
else:
    print("Missing required argument.")

Connected Concepts